Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




desu

#42420 para mi application es leer el body. ambos casos que has dicho me parecen network.

siempre que tengas que leer el body me parece un caso peor que leer headers.

y precisamente todo lo que pueda ser un header y estatico para un broker, load balancer, proxy, scheduler, gw etc etc que no tenga que saber que hay dentro, es bueno. que es lo que digo en el post de atras. incluso si el header es dinamico se puede leer en stream con un buffer y parar cuando tengas los bytes que quieres...

aunque hay excepciones, para cosas que tengas en prod sirviendo trafico, no veo muchos casos de uso ahora... es muy raro. cosas muy muy dinamicas donde el tiempo de runtime es menor que el tiempo de re-configurar todo. en casos de sistemas distribuidos con eventual consitency tiene su uso tambien... pero vamos. raro imo. me cuesta mucho sacar ejemplos concretos.

esta discusion la tuve hace un tiempo, porque mi equipo usa una puta cola generica para un caso de uso. su puta madre fperos. te comes toda la informacion y metadatos... XD tienes que luego hacer a mano todoooooooo lo que he dicho. es una mierda.

con el ejemplo del HTTP y solo usar POST creo que les logre hacerles entender que no tenian ni puta idea de colas. pero bueno, les explicaba la diferencia entre push y poll en colas y no lo entienden... no tengo mucha fe. hicieron esto, creo que lo explique

servicio => QUEUE => orchestrador => consumer_final

en lugar de

servicio => QUEUE <= consumer_final

para que cojones te sirve poner una QUEUE en medio si tienes un orchestrador que te jode todo? nada, 1 semana de system design doc y no lo entendieron en serio. La gente no sabe programar.

2 respuestas
wdaoajw

#42421 tienes los fundamentos tocados, de hecho ALB poco tiene que ver con el body y si con los headers.

Hostname, path, etc son headers que se pasan en capa de aplicacion, y como te dicen tiene su utilidad. No siempre te vale con ip/Port, especialmente en SPAs que debajo tienen la de dios

2 2 respuestas
GaN2

#42421 Pero justamente un balanceo en funcion del body del request cae en los LB que actuan en L7 del modelo OSI como dice #42422. Los LB que actuan en L4 o NLB no tienen acceso al body de la peticion, actuan mas bien a nivel de header, datos de la cookie, localizacion del usuario y mierdas similares.

Luego ya si nos metemos en LB que actuan en L1/L3 que podrian ser considerados los verdaderos network load balancer ya ni eso, tienes acceso a informacion todavia mas basica.

1 respuesta
Farmijo
#42418desu:

donde aplanas todos los eventos a 1on1, donde puedes delegar al broker la mayoria de funcionalidades de garantizar delivery, retries, reliability, balanceado, es añadir overhead.

Todo eso lo puedes delegar a la cola independientemente de poner un topic por tipo de evento o un topic para todos los eventos de un agregado.

#42418desu:

se utilizan los metadatos del broker como el tiempo de consumo de topic o elementos en cola para realizar escalados

Te están bailando los conceptos y te estas liando con kafka, creo.

#42418desu:

si publicas 10 eventos a 1 un topic generico, y los 10 eventos se consumen por servicios distintos, que tienen requerimientos de CPU y MEM distintos, como provisionas?

Escalaras el consumidor en base a mensajes en la cola que está consumiendo, por ejemplo. El publisher funcionará a lo fire&forget.

#42418desu:

pero bueno, incluso si lo tuviese que hacer a mano no veo que sea un con enorme.

Te falta el contexto de la empresa. No todo el overhead per se es técnico (sobre todo si los equipos no tienen permisos de infra)

#42418desu:

el tema del schema del topic entonces como funciona si usas routing keys? porque el tema de la serializacion y el schema versioning tambien debe ser mas complejo y jodido.

Hicimos una librería que genera los eventos con un esquema estandarizado (tanto de naming como de estructura data y metadata.). La serialización para consumer ya es más jodida (y enrevesada).

1 respuesta
desu

#42422 no es que tenga el fundamento olvidado. que también.

Es que tengo mi propia teoría y definición.

Depende del protocolo si es stream, paquetes ordenados yo secuenciales, blobs

Pero si lo puedes stremear sin cargar todo en memoria y despachar es network

Si debes meterlo (o un paquete de la secuencia) en memoria es app.

#42423 tengo mi propia definición de network y app

1 respuesta
GaN2

#42425 Vale que te pasas por el forro de los cojones el modelo OSI y la definicion de cada capa que es lo que se usa para saber el tipo de LB como estandar a nivel de IT. Entonces si, puedes hacer balanceo con los datos del body a nivel de network, app o lo que te salga del pito.

1 respuesta
desu

#42424 entiendo. no se como va amqp, se que las delivery son distintas, pero amqp es mejor que mqtt y similares no?

igualmente como no conozco el caso de uso no puedo opinar mucho. tansolo es una cosa que me ha chirriado mucho lo que has dicho. porque de base deberia ser lo primero que pienses para solucionar el problema...

y por lo que me dices, los delivery guarantees, observabilidad, y demas, te aseguro que no es lo mismo cuando tienes muchisimo trafico y tienes que hilar primo. algun dia ya lo veras cuando no sepas que te esta petando ni que tocar para arreglarlo.

xq yo estoy hasta las pelotas de re-inventar brokers y schedulers en consumers porque mi team no ha diseñado las colas bien XD hoy mismo lo he comentado en la daily.

tenemos una gateway que cuando un microservicio esta saturado no se entera... pues ese servicio que se satura tan facil es un claro ejemplo de consumer que deberia ir por colas.

#42426 mi manera de definir-lo es mejor

no hace falta que lo reconozcas

con que te pares a pensar un rato te darás cuenta

en tu día a día entender lo que digo es la diferencia entre un x1 y un x10

para que trabajar en user space, application, consumer level y runtime Si puedes delegar al kernel, broker, scheduler, gw, proxy y estático?!? Lol

La mejor línea es la que no se tira

de nada

ejemplo
Wei-Yu

de dónde viene lo del load balancer en network? en mi hilo de la prueba técnica también lo mencionaste, y aquí en dos días otras dos salidas por la tangente

es un nuevo cargo cult?

edit: lo que digo es qué exp reciente tuviste para hablar de ello tanto

1 respuesta
desu

#42428 me lo dices a mi? o a los devops de arriba que han saltado?

1 respuesta
Wei-Yu

#42429 a ti claro

1 respuesta
Kaledros

Yo sí llevo viendo desde unos meses acá que lo de pedirte que les montes un load balancer en directo en la entrevista técnica ha sustituido a pedirte que les montes una arquitectura hexagonal con mensajería y event sourcing para su curro de 40k en Consultora Pepito.

1 respuesta
GaN2

#42431 Hombre pedirte que les montes un LB no pero saber que es un NLB, ALB y en que capa del modelo OSI funcionan lo veo bastante basico. Moraleja, si vais a una entrevista no digais que los network load balancer se usan para leer el body de una peticion porque se van a reir de vosotros.

1 2 respuestas
Kaledros

#42432 Yo ya me he puesto con ello (no a picarlo, sí a entenderlo) porque no tenía ni idea, el LB es una cosa que está ahí antes de que entren los datos a mi sistema y no le había prestado mucha atención nunca, pero en mi curro me va a hacer falta dentro de poco.

1 respuesta
Wei-Yu

el osi ese del que hablais es algo open source?

yo es que soy de .net

desu

#42430 pues como puto pilar de la industria que soy me gusta traer nuevas teorias, maneras de trabajar y de pensar.

me gusta contribuir a la industria del software, me siento obligado a ayudar a los fperos y a las futuras generaciones.

ademas que poca gente mejor que yo para hacerlo, porque estoy en la cima del toque. dime ingenieros de software menores de 30 años con mi toque. dime 1 o 2 aunque sean. yo creo que no hay ninguno.

esto de network vs app pues sin mas. no es mas que un ejemplo de los tipicos errores que veo y que siempre son los mismos... temas de no usar bien las herramientas fundamentales y hacer over engineering por encima... brokers, schedulers, gateways, proxies, loadbalancers mmmm No se si me dejo algo, pero vamos, todo esto es lo mismo para mi. Y es un ejemplo mas.

la gente en lugar de usar estas herramientas bien, y yo recomiendo pensar como yo lo hago para hacerlo: en stream, paralelo y concurrente, delegando trabajo al kernel y core, metadatos y codigo generico, static link y binarios unicos. en lugar de usar las herramientas lo re implementa todo a nivel de aplicacion en los consumers o servicios.

de nuevo, el ejemplo que mejor me funciona es el de HTTP donde solo utilizas POST y dentro del body, tienes un JSON, donde pones que hacer, a que path, con que recursos etc... Imaginate hacer TODO lo que haces en tu dia a dia con eso. Ahora imaginate que todos los loadbalances, brokers y demas componentes de backend deben funcionar con ello...

se entiende no? se entiende que la estas liando mucho no? que porque no usas HTTP como toca no? pues yo veo muchas de estas liadas... y en cosas open source que usan millones de personas como netty por ejemplo. gracias a que la gente usa "mas o menos" http de manera normal, tienes balanceadores y cosas asi que mas o menos funcionan... digo mas o menos, porque a la que toca diseñar una cola o hacer un proxy la gente se vuelve a cagar encima como fperos que sois. pues lo mismo deberia ser con los otros componentes, y eso es lo que he explicado hoy al fpero de turno que no sabe usar colas.

cuando os leo discutir las boberias que discutis pienso en el HTTP donde solo usais POST. Asi de malos sois para mi. Y lo mejor es que lo discutis y lo defendeis a muerte HAHAHAHA

#42432 te invito a hacerme una entrevista TU a MI en directo en Twitch para el foro.

estoy seguro que a los 5 minutos te habre corregido mas cosas de las que TU me has preguntado.

las entrevistas de trabajo para mi consisten en ver si el fpero que me entrevista sabe cambiarse o no los pañales, porque asumo que os cagais todos encima.

1 1 respuesta
Wei-Yu

pues como puto pilar de la industria que soy me gusta traer nuevas teorias, maneras de trabajar y de pensar.

GaN2

#42433 No suele ser normal que los desarrolladores monten los LB pero hoy en dia con DevOps y mierdas similares a saber, cada empresa hace lo que quiere. Como cultura general y para saber de que te hablan cuando hables de arquitectura y demas lo veo esencial.

#42435 Para ver una comedia me veo La cena de los idiotas, lo tuyo es un drama o una pelicula de terror. Y si, fpero y todo lo que tu quieras pero a nivel de suedo sigues estando bastante por debajo de mi. De pedanteria vas sobrado eso si, lo suficiente como para creerte un pilar de la industria y no tener ni puta idea de como funciona un LB o en que capa trabaja cada uno.

1 1 respuesta
desu

#42437 HAHAHAHAH

la verdad, es que deberia googlear como funcionan porque no me lo se de memoria, yo en mi trabajo pico gws y algun broker por desgracia

ahora, a nivel de user ya te he explicado que tengo mi propia teoria que creo que es mejor para educar a los fperos como tu

no necesitas aprender nada cuando eres tu mismo quien esta inventando las teorias y enseñandoselas a los demas sabes?

y sabes de sobra aunque no lo digas, que al leer mi explicacion, te ha gustado la regla que he puesto porque es facil de recordar, seguro que mañana vas a revisar que no estes leyendo de mas un body o vas a mover algo a un header para que tu LB deje de ir en silla de ruedas

tu codigo gasta mas ciclos de cpu que el estado ha gastado ayudas por tu retraso

1 respuesta
GaN2

#42438 Yo al menos no voy por los foros poniendome de puto amo para luego no tener ni puta idea del modelo OSI, las capas o como funcionan los LB. Suerte campeon que la vas a necesitar, dudo que haya alguien que te aguante en esta vida mas alla de tu madre y porque te ha parido.

Cuando aprendas del modelo OSI, como funciona un load balancer y tengas un minimo de educacion podremos hablar. Hasta entonces puedes seguir conversando en grupo con tu autismo y tu ego

1 1 respuesta
desu

#42439 HAHAHAH

no puedes desmontar mi ultima teoria y pasas a los ataques personales.

no pasa nada, ya te dije que no hace falta que reconozcas que tengo razon.

algun dia le contaras a tus amigos que tuviste el placer de haberme conocido y hablar conmigo por un foro. ese sera tu mayor logro en la vida.

1 respuesta
GaN2

#42440 Bale

1 1 respuesta
desu

#42441 no respondas tan rapido que no me ha dado tiempo a editar

deberias saber que yo posteo mediante el metodo "stream de conciencia" sin pensar ni estructurar mis pensamientos para no diluirlos con energia inecesaria

necesito un par de minutos por posts para poder plasmar bien.

soy pollock.

2 respuestas
GaN2

#42442 Bale

1 respuesta
desu

#42443 por que no me explicas que esta mal de mi metodo?

imagina que tienes que hacer una custom cdn sobre quic para re-emplazar la de netflix, como enrutas? a caso hay algun error en mi metodo?

imagina que ademas tienes que sacar analitcas de los logs que generas, como lo harias? acaso mi metodo falla?

jeje no puedes

PiradoIV

9 1 respuesta
Kaledros
#42442desu:

no respondas tan rapido que no me ha dado tiempo a editar

¿Esto entraría como su CT o hay límite de caracteres?

desu

#42445

2
JuAn4k4

AMQP no es mejor ni peor que MQTT, es diferente. Con amqp puedes hacer muchas cosas y esta muy bien, Rabbit es un buen producto, y muy fácil de usar y tal, pero si quieres empezar a conectar millones de clientes y tener delivery guarantees por cliente y tal la cosa empieza a complicarse, sobre todo si los clientes sufren desconexiones (móviles, coches, relojes, etc), en cuyo caso MQTT es un mejor fit, ahora no quieras tener las mismas funcionalidades, MQTT es más limitado, aunque con topics y filters se pueden hacer muchas cosas que cubren muchos casos de uso.

Nosotros vamos a usar MQTT para crear un edge de websockets, tcp y quic para hacer pub/sub desde los servicios a los clientes conectados.

Ahora de hecho estoy yo evaluando alternativas para poner nuestro cluster MQTT con los brokers que hay por ahí

Sephi19

#42287 Te ha faltado un 2 amigo. Me has quoteado en un mensaje de hace 3 años xDDDDD

Farmijo

A todo esto, llevo unos días metiendome a mirar el sistema de tipos de typescript y riete tu de las pajas mentales de la programación funcional en comparación a lo que se puede hacer aquí con cosas rollo los string literal types.

Y luego llega el runtime y puff, todo tu tinglado de tipos se convirtió en chocapic en la mayor parte de casos.

2