Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Wei-Yu

pongo esto por aquí a ver si alguien tiene alguna opinión o quiere comentar algo

https://www.reddit.com/r/ExperiencedDevs/comments/124r433/making_multiple_api_calls_transactional/

1 2 respuestas
desu

#43669 tendria que analizar que es un problema de cache, como digo no es tan claro.

porque no deberia ser en principio un problema de cache. el servicio se encarga de tirar un algoritmo de ML sobre inputs, y estos inputs dificilmente son cacheables.

ya le echare un ojo a varnish otro dia que sigo de vacaciones en la playa. hoy creo que me voy a casa.

#43680 nosotros usamos spinnaker, tendria que mirar esto + eso

#43681 ya hable en su dia sobre esto y xq lo haceis todos mal

en mi serie de backend por ejemplo es un topic

Por cierto que esas respuestas estén en experienced Dev o como se diga el su reddit tiene tela... Menuda mierda respuestas.

Osea leo el top answers y la discusión un poco y son respuestas de fperos que no saben de lo que hablan... Pero nada..

Eso sí seguro que son staff arquitectos en sus empresas de mierda

2 respuestas
TheBrotha

La serie de backend será como el milagro que se explicaría tras 20 días de Barrientos

mira cara a cara con Desu, increible y cara a cara con Desu, la continuacion y audios explosivos, el blog y su stream y te atrapa esta filmado en el hospital psiquiatrico en el lugar de los hechos dentro de guardias de hospitales 7 veces lo fui a buscar a farmijo y no te digo como he trabajo con portacion de arma pero mas no te voy a decir.

4 2 respuestas
Wei-Yu
#43682desu:

Por cierto que esas respuestas estén en experienced Dev o como se diga el su reddit tiene tela... Menuda mierda respuestas.

tú te inventarías una definición de transaccionalidad que se ajustase a la realidad que más te gusta, no?

1 respuesta
desu

#43684 no puedes dar una respuesta generica sin enteder que hacen esos servicios

la mejor respuesta es la que dice que si tienes 3 microservicios asi y ahora necesita una transaccion esta todo mal

en lugar de centrarte en hacer esa operacion transaccional deberias centrarte en deshacer la mierda que tienes montada

y todo esto viene porque la gente a modelado las cosas segun el negocio/dominio en lugar de hacer las cosas a nivel tecnico

la arquitectura de software es una gran mentira para fperos como tu que hasta los 30 años estabais fumando porros y arrastrandoos por la vida medio muertos de hambre, hasta que visteis ne la burbuja de IT una oportunidad de hacer algo con vuestra miserable vida

2 respuestas
Kaledros

#43681 En mi anterior curro tuvimos un escenario parecido y al final lo que decidimos fue usar eventos. API A emite un evento y los consumers de los sistemas 1, 2 y 3 lo reciben y hacen lo que sea. Si es necesario que los tres tengan éxito, si uno falla envía un evento de rollback y los otros dos lo consumen y arreando. Vía HTTP la cosa se desmadraba de la hostia si intentabas tener transaccionalidad.

1 respuesta
desu

#43686 tienes un problema transaccional, ahora tienes un problema transaccional y de eventos...

osea que si tu pinchas la rueda de tu coche, tu solucion es meter otra rueda mas grande encima de la pinchada en lugar de cambiarla.

ese es vuestro nivel.

que por cierto hable de este tema, porque los fperos de mi equipo tienen el mismo problema, la mayoria de operacines transaccionales si fallan dejan las cosas en un estado inconsistente

dais puta verguenza que os llameis programadores

#43683 que mas os dara si segun la gente de este hilo no tengo ni idea de nada ni se lo que hago

1 respuesta
Wei-Yu

#43685 hay muchas (bastantes) respuestas en el hilo que señalan el smell de arquitectura. Pero aún sabiendo que puede ser un problema de cómo está diseñando, quizás a corto plazo necesites un parche hasta que puedas ejecutar algo en el largo plazo para arreglar el hipotético problema.

1 respuesta
Kaledros

#43687 Lo que teníamos era un problema de management porque nosotros queríamos hacer un monolito, que hubiese solucionado ese problema solo, pero el EM se empeñó que tenía que ser microservicios. Y teníamos las manos atadas.

desu

#43688 la primera solucion es echar a la calle a todos los "responsables" de esa arquitectura, todos los equipos de "programadores" y "managers" que tocaron ese codigo deberian estar en la calle con su finiquito mañana.

despues lo vuelves a hacer. que con el codigo ya escrito no tardaras nada en hacer copy paste y arreglar esa porqueria.

mi solucion es que la gente como tu no entraria en mi equipo porque no pasariais mi entrevista. asi no tengo que cambiaros los pañales y echaros a la calle por malos. mejor haced un bootcamp de alinea divs.

#43663 esto no se si deberiamos haberlo usado xq yo no hice la tarea. pero el compare que lo hizo se pico un codigo en python a mano que mira de SQS el tamaño de la cola y hace update del cluster a mano para escalarlo.

xq tenemos 2 clusters corriendo 2 versiones de k8s distintas. usamos 2 libs de k8s distintas.

ese side car hubiese sido mejor? veo que tiene lo de SQS ya picado.

me lo apunto para mirar tambien. mañana que estare a casa tendre tiempo.

PiradoIV

#43682 Mira a ver entonces el resto de las preguntas que te comentaba. Servir todas las peticiones no siempre es la respuesta, puede ser un error bizantino y puede que tengas que hacerle throttling al que lo ocasiona.

Pero es dar palos de ciego sin saber mucho más.

1 respuesta
MTX_Anubis

#43685

la mejor respuesta es la que dice que si tienes 3 microservicios asi y ahora necesita una transaccion esta todo mal

Es que justo estaba pensando eso xD

En lo que te equivocas y por mucho es en que esté modelado las cosas según negocio. Si eso fuera así jamás habría transaccionalidad entre servicios.

Pero como hablas mucho siempre de lo mismo mi pregunta es si alguna vez has hablado con alguien de negocio. Vamos te has puesto a hablar con el y has sacado los requisitos y la funcionalidad de lo que tienes que hacer.

Porque la impresión que das es que en tu vida lo has hecho.

1 respuesta
desu

#43691 si eso propuse throttling,

#43692 si lo he hecho, te puedo poner un ejemplo después de a que me refiero con eso que siempre digo que esta mal. en mi curso de backend me centro en esto específicamente bastante

  • Ejemplo facil, politica empresarial:

Te sabes eso de que el código representa la organización de la empresa? Pues sería similar.

La más fácil es. A veces cada microservicio es un team, y en lugar de múltiples servicios debería ser un único.

Por ejemplo, estos tíos quizás tienen 3 equipos que hacen 3 funcionalidades distintas. Pero el caso de uso de negocio requiere las 3. Por tanto para mi todo esto es una operación, y debería hacerse todo de manera conjunta. Lo que pasa es que hay 3 teams porque en esa empresa hay POLÍTICA. como ya habíamos dicho anteriormente en Blog..

Si no estás de acuerdo en esto... Poco mundo has visto. Porque no debería hacer falta más ejemplos...

  • Solucion a modelar el "negocio" / "mundo real"? Modelar los requerimientos tecnicos

El problema es que modelar el negocio en la práctica lleva capas de política. Y lo que debes hacer para evitarlo es modelar los requerimientos TÉCNICOS. En este caso si una operación (caso de uso de negocio) es transaccional, haz una transacción.

Y para mi, si estos 3 teams están justificados, se debería copy pasear el código, si duplicar código dios uncle Bob me perdone, y realizar la operación de la manera más simple y eficiente posible.

Espero haberme explicado bien, más en mi serie de backend para buenos programadores. Para el resto, codeless, uncle Bob y blog posts de vende hunos sombre event driven design.

  • Y esto es jardineria de software pura y dura

Y con esto de hacer copy paste y unir funcionalidades en un servicio único, me refiero con la jardineria de software. Que más da que ya esté hehxo de una manera? Lo re hacemos. Y debería ser natural re hacer las cosas.

1 1 respuesta
Seyriuu

Desde la total ignorancia, cuando os leo, me pregunto si todos estáis atendiendo negocios con una envergadura (jaja verga dura) gigante o algo porque siempre habláis de soluciones super técnicas y lo más de lo más adecuado y eficiente, cuando yo que he trabajado en bancos toda la vida lo que ha primado siempre ha sido:
"cual es la solución más barata? y si en vez de arreglarlo creando una tabla nueva lo que hacemos es meter datos duplicados en la tabla actual? cómo? que me ahorro 200 horas de trabajo? pues esa solución, la chapuza, la vamos a llamar solución táctica".

2 respuestas
Fyn4r

#43694 Y luego se filtra en la vista, me sé de cierta empresa del Ibex lider del sector textil que lo hace xD

Kaledros
#43694Seyriuu:

he trabajado en sitios donde ataban los bolis bic con cadenita para que no te los llevaras

Eso debería explicar por qué tiran siempre por la solución más barata.

2
desu

@juAn4k4 no puedes usar warm groups con spinnaker atm


perlita de mi manager en la daily de hoy, otro team esta trabajando en un bot, que por ejemplo tiene el feature (este feature le ha ENANTADO) de que te menciona en las pr que tienes asignadas...

yo pensando, a ver que tienes el panel de notificaciones y email si quieres... XDDDD

1 respuesta
pantocreitor

estoy montando una lambda porque el que se ocupa de esto no tiene tiempo y me está dando pereza máxima leerme la documentación ded aws sdk, dynamodb y demás para hacer 4 cosas.

1 respuesta
isvidal

#43698 por que tienes que leer la documentacion de aws, dynamodb y demas para montar un lambda?

Boton de nuevo lambda => poner codigo que quieras que se ejecute => url que llamas para ejecutar el lambda

1 respuesta
Soltrac

Pregunta de noob, cuando tengo un crash en GO y tengo 38291382190381203 goroutines ejecutándose y el stack trace de todas, como identifico cual fue la que petó? XDDD. Estoy buscando un puto panic o algún mensaje en alguna de ellas y no encuentro ninguno.

1 respuesta
pantocreitor

#43699 porque cliente no me deja acceder a aws y los de devops no tienen ni idea.
Me han dicho que lo deje todo montado en local (sin probar huehuehuehuehue), haga un zip con node modules y se lo pase...
No lo he hecho nunca así, por lo que voy a ciegas/leyendo documentación.

EDIT: el que se suele ocupar me ha comentado que el siempre lo ha hecho así y cuando le dicho que así no lo he hecho en la vida me ha dicho que imposible, que esa es la forma xD

1 respuesta
Kaledros
#43701pantocreitor:

haga un zip con node modules

¿Y no te ha pedido que se lo imprimas y lo mandes por fax?

4 1 respuesta
Wei-Yu

pagáis licencia de winrar? a ver si os van a meter un puro...

2
pantocreitor

#43702 Correo postal a caballo

pineda

#43700 normalmente la que ha petado contendrá llamada a panic.go

1 respuesta
Fyn4r

No hice un lambda en mi vida pero una vez leí que puedes subir un zip con el código + dependencias

1 respuesta
pantocreitor

#43706 si poderse se puede, pero me hace gracia de qu elos de devops no saben que existe otra manera y el que las suele hacer tampoco

1 respuesta
PiradoIV

#43707 Huye de ahí.

1 respuesta
pantocreitor

#43708 el 24 empiezo en la empresa nueva #NO_CONSULTORA #PUTO_CLIENTE

EDIT: pero ahora mismo me tienen de chico para todo: formar juniors, hacer tonterías de código, trastear la base de datos, hacer lambdas por fax, etc...

2
PiradoIV

Tómatelo con calma entonces, aprovecha para mirar cosillas como https://www.serverless.com, por las risas.