hace pocos días encontré tu canal, actualmente estoy estudiando sistemas distribuidos y tu explicación es muy buena y muy amena. echaba de menos un canal de youtube sobre informática bueno y sobretodo entretenido. Mis dieces crack ^^
La clave para mí están en el determinismo, como dices tú, saber vivir con ello. Cuando le intento explicar a alguien sistemas de mensajería y empiezan a aparecer problemas con concurrencia lo primero que escucho es "no es una solución apropiada" o "sin rabbit esto no pasa" (está claro que no ven el problema de que sin rabbit no escala). Muy bien explicado :)
Me encantó el vídeo!. Soy estudiante de ingeniería informática a un final de recibirme y hace años que estaba buscando un canal que nos ayude a actualizarnos a los que venimos trabajando en Sistemas Monoliticos. Muchas gracias por el excelente contenido!.
Llevo meses siguiendo vuestros vídeos, no me decidía a suscribirme a los cursos, pues no tocabais nada en ellos de C# que es el lenguaje que más domino. Pero al final, me decidí a suscribirme y ver si yo mismo puedo aplicar los conceptos que explicáis a C# y desde el viernes que estoy viendo vuestros cursos. Alucino con lo mal que estaba programando hasta ahora con código super acoplado, dependiente y apenas tolerante al cambio. Gracias por vuestro trabajo. PD: Me acabo de dar cuenta que no estoy suscrito al canal de UA-cam 🤣 me suscribo pero ya. PD2: Rafa, con ese micro nuevo se te oye mucho más profundo e imponente 😯.
"Desde el reclamo número 1710 muchos se repiten, es decir, llegan exactamente a la misma hora con el mismo número de reclamo y con la misma información. Esto fue variando, ayer llegaron muchos repetidos y otros no. Ejemplo 1731, 1732 y 1733 llegaron repetidos. (los repetidos los envíe a la carpeta ya vistos para no prestar a confusión)" No pensé que iba a tener problemas con duplicidad de mensajes con SNS de Amazon porque la verdad, el sistema que hice no tiene alta concurrencia. Lo tuve, hoy me llegó ese issue. Lo resolví persistiendo el messageId que tiene SNS. Si el id no existe en bd, lo inserto y ejecuto la lambda, si ya existe, no inserto y no ejecuto nada. Al momento que lo estaba haciendo pensé que era muy sucio esa solución. Pero después de arreglar el hotfix en producción investigué un poco sobre el tema para ver si encontraba algo mas elegante pero no tuve suerte.
Justo estoy teniendo estos casos en un sistema distribuido jajajaja. Por ahora SNS/SQS mas un buen diseño de mi base de datos me basta pero creo que migraré a Kafka.
Un socket es un medio de comuniación. Los websockets (que es a lo que se refiere en el video) es el medio de comunicación en un entorno web. En particular los websockets se manejan con su propio protocolo y tienen a ser muy veloces porque mantienen una conexión contínua. Para este caso: los jugadores de lol, cuando inician la aplicación, les sale un cartel de aviso de firewall (administrador de puertos de tu pc) debido a que la aplicación quiere abrir un puerto para comunicarse. Pensalo como una conexión en tiempo real
Excelente video CodelyTv como siempre, una consulta he escuchado un termino que me tiene un poco confundido se llama DDD pero lo ponen como Domain Driven Distribuited, mi pregunta es, se reieren a DDD Domain Driven Desing pero aplicado a soluciones distribuidas?, gracias
Ayudame en este problema amigo :se quiere implementar una cabina de internet pero no tiene suficiente dinero para comprar todas las licencias necesarias,se requiere tener una reservacion via telefono y la publicidad por una pagina de internet y redes sociales.¿que sistema operativo se debe utilizar? y ¿que sistemas distribuidos se deben instalar y que solucion me dará?
Puede haber mas problemas como la ejecucion desordenada de eventos. Supongamos diferentes actualizaciones de nombre de usuario ya creado en orden equivocado, nos quedariamos con un nombre incorrecto como el definitivo. La infraestructura de mensajeria deberia garantizar la entrega ordenada con algun tipo de timestamp en el momento de la emision de cada evento (evitando asi el retardo de la red). Parece asumible que todos los servidores tengan la misma hora.
Compañero, para evitar tratamiento duplicado de un mensaje, la forma más fácil y generalmente factible es lanzar el ack dentro de una transacción. Inicio transacción - proceso el mensaje y almaceno datos - envío ack y realizo commit. Lógicamente se necesita control de errores, si la entrega del ack da un fallo, realizo rollback y listo. Simplemente dar el apunte 😉
Tema complejo éste. Y no sólo se presenta en sistemas distribuidos. Si trabajas con diferentes hilos/cadenas que puedan ejecutarse "en cualquier orden", luego en el momento de la consumición/ejecución tienes que tenerlo en cuenta, e ir viendo las casuísticas.
Hola Codely, tengo una duda que no viene al tema del video, lamento molestarte, ¿Se puede ser Front-End y Back-End?, lo pregunto porque muchos videos que he visto relacioando a estos temas lo mencionan como si fuera algo muy distinto, y sí que lo es, pero transmiten la idea de que si vas a enfocarte en uno, no te serviría de mucho enfocarte en el otro, o eso entiendo yo, estoy empezando en esto de la programación, disculpa mi ignorancia.
Puedes saber tecnologias del Front-End y del Back-End, lo que se conoce como un programador fullstack, pero recomiendo buscar trabajos en el que hagas una de las dos cosas. En un trabajo puedes ser Front-End y en tu siguiente trabajo Back-End, no le veo el problema. No te recomiendo tener un trabajo en el que hagas las dos cosas, es muy desgastante. Por lo general las empresas grandes buscan programadores que se dediquen solo a una cosa en especifico.
hola JaVa, si se puede ser ambos, pero no te definas como front-end o back-end, probablemente lo que tú eres es “software engineer” y cuando una empresa busca un fullstack siempre es “un backend que sepa poco de frontend” o un “frontend que sepa poco de backend” pero como te dicen arriba, esos puestos son desgastantes pero por hacerlos pagan más.
Si 66f 6 d😭😉👏😉😜🤔😭😁😉😉🤣😀❤️🙄❤️🤔❤️🤔👏👏❤️😉😜🤔😜👏 tu y, 6😭😀😀😉🤣 6 6😀😢😜👏🤣🤣🤣🤣😉❤️👍66Asegurar los fragmentos de texto copiados para que no caduquen al cabo de 1 horaEl texto que copies se mostrará automáticamente aquí😜😢😢😜😋😉❤️😌😉🤣❤️❤️😀😁❤️🤣😋👍❤️🙄😀😊😀😀
Disculpen que escriba por acá, pero he enviado dos veces correo y no me responden. Algún otro correo o medio para comunicarme con ustedes. Es por un curso que estoy haciendo con uds. Gracias!
El correo es soporte [at] codely [dot] tv, si ya nos has contactado por allí mañana lo miramos sin falta!! 🙏😊 Pd. Esperamos que te esté gustando el curso!!
@@CodelyTV No sé, que tal si ya paras con el chiste del thumbnail, o si paran de subir tanto contenido de calidad, o de llevar esos ojitos que te manejas, huapo!
Redis? Nats.io? Igualmente trata de esos problemas sin especificar la tecnología, son cosas a tener en cuenta, y si no las tenes en cuenta, configuras mal o elegis mal la tecnología... saludos
¿Queréis un vídeo de cómo evitar estos problemas utilizando Kafka? ✌️😊
Siiii
Por supuesto!
Si, con un ejemplo práctico quedará más claro
Estaría excelente haganlo
Llegaron a publicar ese video ??
hace pocos días encontré tu canal, actualmente estoy estudiando sistemas distribuidos y tu explicación es muy buena y muy amena. echaba de menos un canal de youtube sobre informática bueno y sobretodo entretenido. Mis dieces crack ^^
La clave para mí están en el determinismo, como dices tú, saber vivir con ello. Cuando le intento explicar a alguien sistemas de mensajería y empiezan a aparecer problemas con concurrencia lo primero que escucho es "no es una solución apropiada" o "sin rabbit esto no pasa" (está claro que no ven el problema de que sin rabbit no escala). Muy bien explicado :)
Me encantó el vídeo!. Soy estudiante de ingeniería informática a un final de recibirme y hace años que estaba buscando un canal que nos ayude a actualizarnos a los que venimos trabajando en Sistemas Monoliticos. Muchas gracias por el excelente contenido!.
Me suscribo, porfa mas temas sistemas distribuidos y colas, eso es otro nivel .
Llevo meses siguiendo vuestros vídeos, no me decidía a suscribirme a los cursos, pues no tocabais nada en ellos de C# que es el lenguaje que más domino. Pero al final, me decidí a suscribirme y ver si yo mismo puedo aplicar los conceptos que explicáis a C# y desde el viernes que estoy viendo vuestros cursos. Alucino con lo mal que estaba programando hasta ahora con código super acoplado, dependiente y apenas tolerante al cambio. Gracias por vuestro trabajo.
PD: Me acabo de dar cuenta que no estoy suscrito al canal de UA-cam 🤣 me suscribo pero ya.
PD2: Rafa, con ese micro nuevo se te oye mucho más profundo e imponente 😯.
Oleee!! Me alegro mucho!! 😊🎉🎉🎉
Pd. Es por el hecho también de hablar más cerca del micro 😂
Cada vez me gustan mas sus videos muchas gracias por tomarte el tiempo en subirlo
Excelente explicación de los servidores distribuidos y los mensajes
Excelente video ojala lo hubiese visto antes jajajajaja, el año pasado tuve que lidiar con estos dolores de cabeza en un ramo de la universidad.
Muy buen vídeo. Hablando de eventos os propongo un vídeo sobre arquitectura Kappa.
muchas gracias, muy bueno
El video que no sabía que necesitaba hasta hace 10 minutos que me encontré con ese problema 😭
Excelente explicación! Como siempre, finísimo!
6:40 es mi día a día en mi trabajo
Finisimo. Como siempre👍
Buen vídeo 👍
14:56 ¿y que pasa si nunca llega el mensaje de "Registro de usuario"? ¿queda el mensaje de modificación de nombre eternamente en el Message Broker?
Gran video, saludos.. etc etc etc
+1 por el thumbnail del video 😄
Buen video!
"Desde el reclamo número 1710 muchos se repiten, es decir, llegan exactamente a la misma hora con el mismo número de reclamo y con la misma información. Esto fue variando, ayer llegaron muchos repetidos y otros no. Ejemplo 1731, 1732 y 1733 llegaron repetidos. (los repetidos los envíe a la carpeta ya vistos para no prestar a confusión)"
No pensé que iba a tener problemas con duplicidad de mensajes con SNS de Amazon porque la verdad, el sistema que hice no tiene alta concurrencia. Lo tuve, hoy me llegó ese issue. Lo resolví persistiendo el messageId que tiene SNS. Si el id no existe en bd, lo inserto y ejecuto la lambda, si ya existe, no inserto y no ejecuto nada. Al momento que lo estaba haciendo pensé que era muy sucio esa solución. Pero después de arreglar el hotfix en producción investigué un poco sobre el tema para ver si encontraba algo mas elegante pero no tuve suerte.
Finísimo ;)
Justo estoy teniendo estos casos en un sistema distribuido jajajaja. Por ahora SNS/SQS mas un buen diseño de mi base de datos me basta pero creo que migraré a Kafka.
Aún no entiendo que son los sockets, además creo que también existen websockets, ¿Podrías hacer un video explicando? Por favor.
Un socket es un medio de comuniación. Los websockets (que es a lo que se refiere en el video) es el medio de comunicación en un entorno web.
En particular los websockets se manejan con su propio protocolo y tienen a ser muy veloces porque mantienen una conexión contínua.
Para este caso: los jugadores de lol, cuando inician la aplicación, les sale un cartel de aviso de firewall (administrador de puertos de tu pc) debido a que la aplicación quiere abrir un puerto para comunicarse.
Pensalo como una conexión en tiempo real
Me ha encantado el vídeo pero me ha gustado más como has separado en el timeline las secciones xDD Como has hecho eso en el propio vídeo de youtube?
Los juegos funcionan con rtc peer to peer o multipeer
Excelente video CodelyTv como siempre, una consulta he escuchado un termino que me tiene un poco confundido se llama DDD pero lo ponen como Domain Driven Distribuited, mi pregunta es, se reieren a DDD Domain Driven Desing pero aplicado a soluciones distribuidas?, gracias
Ayudame en este problema amigo :se quiere implementar una cabina de internet pero no tiene suficiente dinero para comprar todas las licencias necesarias,se requiere tener una reservacion via telefono y la publicidad por una pagina de internet y redes sociales.¿que sistema operativo se debe utilizar?
y ¿que sistemas distribuidos se deben instalar y que solucion me dará?
Puede haber mas problemas como la ejecucion desordenada de eventos. Supongamos diferentes actualizaciones de nombre de usuario ya creado en orden equivocado, nos quedariamos con un nombre incorrecto como el definitivo. La infraestructura de mensajeria deberia garantizar la entrega ordenada con algun tipo de timestamp en el momento de la emision de cada evento (evitando asi el retardo de la red). Parece asumible que todos los servidores tengan la misma hora.
Tienen cursos en rust rafa
Brutal
Compañero, para evitar tratamiento duplicado de un mensaje, la forma más fácil y generalmente factible es lanzar el ack dentro de una transacción. Inicio transacción - proceso el mensaje y almaceno datos - envío ack y realizo commit. Lógicamente se necesita control de errores, si la entrega del ack da un fallo, realizo rollback y listo. Simplemente dar el apunte 😉
Tema complejo éste. Y no sólo se presenta en sistemas distribuidos. Si trabajas con diferentes hilos/cadenas que puedan ejecutarse "en cualquier orden", luego en el momento de la consumición/ejecución tienes que tenerlo en cuenta, e ir viendo las casuísticas.
Hola Codely, tengo una duda que no viene al tema del video, lamento molestarte, ¿Se puede ser Front-End y Back-End?, lo pregunto porque muchos videos que he visto relacioando a estos temas lo mencionan como si fuera algo muy distinto, y sí que lo es, pero transmiten la idea de que si vas a enfocarte en uno, no te serviría de mucho enfocarte en el otro, o eso entiendo yo, estoy empezando en esto de la programación, disculpa mi ignorancia.
Puedes saber tecnologias del Front-End y del Back-End, lo que se conoce como un programador fullstack, pero recomiendo buscar trabajos en el que hagas una de las dos cosas. En un trabajo puedes ser Front-End y en tu siguiente trabajo Back-End, no le veo el problema. No te recomiendo tener un trabajo en el que hagas las dos cosas, es muy desgastante. Por lo general las empresas grandes buscan programadores que se dediquen solo a una cosa en especifico.
hola JaVa, si se puede ser ambos, pero no te definas como front-end o back-end, probablemente lo que tú eres es “software engineer” y cuando una empresa busca un fullstack siempre es “un backend que sepa poco de frontend” o un “frontend que sepa poco de backend” pero como te dicen arriba, esos puestos son desgastantes pero por hacerlos pagan más.
@@LeanOnAndOn Muchas gracias.
@JaVa, lo principal, es tratarlos como desacoplados
Qué pasa si mi trekfire tumba los poldits?
Muy buen contenido. Cuando puedan hagan uno de API platform o Mercure. Eso estaría genial. Muchas gracias
6n6nvn6j
Si 66f 6 d😭😉👏😉😜🤔😭😁😉😉🤣😀❤️🙄❤️🤔❤️🤔👏👏❤️😉😜🤔😜👏 tu y, 6😭😀😀😉🤣 6 6😀😢😜👏🤣🤣🤣🤣😉❤️👍66Asegurar los fragmentos de texto copiados para que no caduquen al cabo de 1 horaEl texto que copies se mostrará automáticamente aquí😜😢😢😜😋😉❤️😌😉🤣❤️❤️😀😁❤️🤣😋👍❤️🙄😀😊😀😀
Tienes qu implementar idempotencia
Y si se cae el rabbitmq ? :v
Gracias, etc, etc, etc
finisimo el video!
(E te ce, e te ce, e te ce) ^ n
Disculpen que escriba por acá, pero he enviado dos veces correo y no me responden. Algún otro correo o medio para comunicarme con ustedes. Es por un curso que estoy haciendo con uds. Gracias!
El correo es soporte [at] codely [dot] tv, si ya nos has contactado por allí mañana lo miramos sin falta!! 🙏😊
Pd. Esperamos que te esté gustando el curso!!
ya basta no?
De qué? 😂
@@CodelyTV No sé, que tal si ya paras con el chiste del thumbnail, o si paran de subir tanto contenido de calidad, o de llevar esos ojitos que te manejas, huapo!
@@Newascap xDDDDDDDDDDDDDDDD
Estos problemas no existen si trabajas con kafka
Redis? Nats.io? Igualmente trata de esos problemas sin especificar la tecnología, son cosas a tener en cuenta, y si no las tenes en cuenta, configuras mal o elegis mal la tecnología... saludos
Respondan Facebook porfa
Por que tienes un butt plug de madera?
OMG xD Es el tope de las cortinas, que se cayó 😂😂😂😂😂😂😂😂😂😂😂😂😂
@@CodelyTV menos mal, ya tenía miedo de saber como te podías quitar las astillas JAJAJAJAJAJAJA
😂😂😂😂😂 Madre mía 😂😂😂😂😂
Coronavirus: mid
Blacklivesmatter: mid
Blacklivesmatter: gane mid