Comunicando dos microservicios usando Apache Kafka

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.พ. 2025

ความคิดเห็น • 82

  • @fabriciodigennaro2529
    @fabriciodigennaro2529 3 หลายเดือนก่อน +1

    Excelente explicación, muy claro todo. Muchas gracias por el aporte 👏🏻👏🏻👏🏻

    • @SACAViXTech
      @SACAViXTech  3 หลายเดือนก่อน +1

      Con mucho gusto, espero sigas visitando el canal y me ayudes a crecer la comunidad 💪

  • @RamiroAsincrono
    @RamiroAsincrono 11 หลายเดือนก่อน +1

    Muchas gracias por tus videos!
    Son excelentes!

  • @arianprietopack3328
    @arianprietopack3328 2 ปีที่แล้ว +4

    Hola Yoandy muchas gracias por las mieles que estás compartiendo, ejemplos sencillos y muy prácticos! 💪💪💪

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +1

      Gracias por tu comentario 👍

  • @runnyr6701
    @runnyr6701 2 ปีที่แล้ว +24

    Excelente video si porfavor sería muy bueno que hicieras una serie de Kafka profundizando sobre los conceptos con ejemplos prácticos puede ser reutilizando un mismo proyecto durante la serie gracias por el aporte.

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +1

      Gracias por ser parte Runnyr

  • @noelrodriguez7569
    @noelrodriguez7569 6 หลายเดือนก่อน

    El talento de Cuba en estado puro. Muy buen vídeo!!!!

  • @victorfernandez9655
    @victorfernandez9655 2 ปีที่แล้ว

    Excelente aporte @SaCAViX Tech!
    Gracias totales...

  • @IAVIC
    @IAVIC ปีที่แล้ว

    Qué canal más bueno, me encanta!!!

  • @ignacioreyes5965
    @ignacioreyes5965 ปีที่แล้ว

    Me encantan tus videos, aprendo muchas cosas e impulsa a seguir más a fondo. Gracias!

  • @vmunzenmayer
    @vmunzenmayer ปีที่แล้ว

    descubrí de casualidad tu canal y ha sido de gran ayuda para refrescar conocimientos de kafka. Excelentes videos!!!! siga asi master ;)

  •  ปีที่แล้ว

    Excelente contenido, muchas gracias por compartir, es de gran ayuda!

  • @BrendaaaSanchez
    @BrendaaaSanchez ปีที่แล้ว

    muchas gracias hermano tus videos me ayudan muchisimo

  • @eddiemarxmallmaalvarez1134
    @eddiemarxmallmaalvarez1134 ปีที่แล้ว

    excelente video, gracias por compartir los conocimientos!

  • @victoregas2089
    @victoregas2089 2 ปีที่แล้ว +1

    Excelente , Gracias por ahondar en estos temas de microservicios y sus componentes doc , están muy escasos , gracias por el apoyo a la comunidad 👍

  • @johanngeisser6109
    @johanngeisser6109 2 ปีที่แล้ว

    Excelente tutorial, muy bien explicado. Ahora intentaré implementarlo en mi proyecto

  • @rafaelordonez7655
    @rafaelordonez7655 14 วันที่ผ่านมา

    Basicamente lo publicas desde un micro ya sea el frontend, luego lo mandas formateado en el propio codigo y luego en el otro micro lo consumes con un cosumer para poder hacer otras vainas

  • @jesuseduardomarquezmartine8382
    @jesuseduardomarquezmartine8382 2 ปีที่แล้ว +4

    ACabo de terminar un proyecto en Spring boot, y no se puede negar que es muy robusto, poderoso, estructurado, super tipado (obvio es Java), pero es inevitable extrañar a nodeJs, este mismo ejemplo, lo he podido emular en nodeJs con un 60% menos de config y lineas de codigos, si alguien me llega leer, es mejor aprender primero SpringBoot luego NodeJs, el cambio es mas llevadero, igual excelente video! y OJO, me encanta SpringBoot, pero es muy "Burocratico" por ponerle algun adjetivo!

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola Jesús, si Java es muy verboso, es cierto, excelente ! Gracias por tu comentario 👍

    • @VDMpeniel
      @VDMpeniel 6 หลายเดือนก่อน

      Eso por no decir que es un dolor... de espalda jejeje.

  • @alexanderandreslondonoespe8250
    @alexanderandreslondonoespe8250 11 หลายเดือนก่อน

    Excelente explicación

  • @damarysv9058
    @damarysv9058 2 ปีที่แล้ว

    Genial!! video muy bien explicado! gracias por compartir tus conocimientos :)

  • @keycume
    @keycume ปีที่แล้ว +1

    Mas facil no se puede explicar. Buen video 👍🏼

  • @rbascu84
    @rbascu84 2 ปีที่แล้ว

    Hola, super tus videos. Se agradece. Seria bkn uno de kafka.

  • @Deathskullcss
    @Deathskullcss 2 ปีที่แล้ว

    Muy Buen Video, estaba perdido con kafka me ayudaste un monton y esta muy bien explicado gracias!

  • @JairoVides
    @JairoVides 2 ปีที่แล้ว

    Que continue la serie por favor!!!!

  • @ivandespo4947
    @ivandespo4947 2 ปีที่แล้ว

    Excelente video Ingeniero!!! Muchas gracias por el aporte a la comunidad ya suscripto a su canal

  • @jagmagana
    @jagmagana 2 ปีที่แล้ว

    Muy buena explicación. Gracias

  • @isabelveliz4878
    @isabelveliz4878 2 ปีที่แล้ว +2

    hola, cuando haces un tutorial sobre el testeo de la conexion de servicios y kafka, para pruebas unitarias y de QA. Excelente video

  • @ThePomelo09
    @ThePomelo09 2 ปีที่แล้ว

    Excelente explicación!

  • @demavares
    @demavares 2 ปีที่แล้ว

    Muy bueno

  • @radie5239
    @radie5239 2 ปีที่แล้ว

    Excelente video!

  • @rubenmoral6909
    @rubenmoral6909 ปีที่แล้ว

    Genial la explicación. ¿Me podrías decir que tema de intellij usas ?

  • @YanivNahumIPN
    @YanivNahumIPN 2 ปีที่แล้ว +1

    Que buen video muy bien explicado, una duda, ¿Por qué recomiendas inyectar por constructor en vez de usar la anotación @Autowired?. De antemano muchas gracias Inge.

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +3

      Hola Victor, yo lo uso para darme cuenta cuando necesito refactorizar (si tengo muchos parámetros en el constructor algo estoy haciendo mal), si usas inyección por atributos ni cuenta te das y las clases se vuelven monstruos de grandes. Una explicación más completa acá: reflectoring.io/constructor-injection/#:~:text=Constructor%20injection%20helps%20in%20creating,cannot%20alter%20its%20dependencies%20anymore.

    • @YanivNahumIPN
      @YanivNahumIPN 2 ปีที่แล้ว

      @@SACAViXTech muchas gracias, saludos desde México

  • @gedison46
    @gedison46 2 ปีที่แล้ว

    Excelente explicación, una pregunta talvez una explicación donde se tenga en un proyecto separado todo lo de kafka y y en los otros proyectos solo utilizar el jar algo cómo in Kafka útil

  • @aleman7
    @aleman7 10 หลายเดือนก่อน

    hola, consulto lo siguiente. Si envio un mensaje que es atendido por 5 microservicios y 2 de ellos no pueden realizar la operación, ¿cómo y que se se informa al productor? , ¿existe alguna estrategia alternativa para controlar situacion?. gracias y saludos

  • @die9048
    @die9048 2 ปีที่แล้ว

    ¡Gran video! :D muchas gracias por explicarlo de una manera genial

  • @yoselvera1143
    @yoselvera1143 2 ปีที่แล้ว

    Great Video!!!

  • @somethings6868
    @somethings6868 2 ปีที่แล้ว

    Brillante, gracias por compartir el conocimiento. Me gustaría saber cómo abordar el problema de una aplicación, spring boot por ejemplo, que tiene configurado un autoscaling de su contenedor. Cómo asegurarse de que al escalar la aplicación no procese eventos repetidos?
    Un saludo, y gracias nuevamente por el conocimiento

  • @jesuseduardomarquezmartine8382
    @jesuseduardomarquezmartine8382 2 ปีที่แล้ว

    Hola, gracias por el Video, en el min 16:32 indicas que no es recomendable inyectar con @Autowired sino por constructor, aunque he usado poco Spring boot, se emplearlo de los 2 modos, pero me podrias indicar por favor, por que no es recomendable el @Autowired sino la inyeccion por constructor? saludos!

    • @asanast
      @asanast 2 ปีที่แล้ว

      Básicamente haciendolo desde el constructor, permites mantener la inmutabilidad del objeto como "final" así como sobretodo el tema de que te permite ver cuando una clase tiene demasiadas dependencias (ya que si tienes un constructor con 10 inyecciones, el principio de responsabilidad única es un sintoma de que comienza a tambalearse y por tanto puede ser un buen punto para realizar un refactor). En cambio con @Autowired esto se difumina ya que al tenerlo como propiedades de clase, no nos paramos a pensar (al menos visualmente es menos impactante) si tiene 2 o 20 dependencias...
      Saludos!

  • @smartcontract7929
    @smartcontract7929 2 ปีที่แล้ว

    Profe en caso de que una ruta se consuma y los datos sean modificados, y posteriormente no se puede enviar un evento al bus por algun error. ? Es decir El evento jamas llego al bus, pero aún así fueron modificados los datos en la base de datos de la ruta.

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola en ese caso el sistema que se encarga de publicar el cambio si falla esa publicación debe continuar reintentandolo hasta que se restablezca el bus, en una arquitecta basada en eventos muchas veces el bus se convierte en la fuente de la verdad y debe cuidarse su disponibilidad más que cualquier otra cosa.

  • @samuelsaldana1575
    @samuelsaldana1575 ปีที่แล้ว

    ¿Y el video de los conceptos sobre eventos?

  • @ignaciobriones3769
    @ignaciobriones3769 2 ปีที่แล้ว

    Master, gracias por Tu contenido, me gustaria saber que es mejor Kafka como Iaas o kinesis de aws como saas? Me refiero a characteristics y costos, gracias TIO sacavix,

  • @favioamarillamino4665
    @favioamarillamino4665 2 ปีที่แล้ว

    En el microservicio que consume los mensajes, es requerido u opcional agregar la configuracion de seguridad para que confie en una clase especifica?

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola Favio, como viene por defecto si, capaz si nos ponemos a jugar con la config de kafka podamos deshabilitarlo, pero habría que revisar la doc, a ciencia cierta no he tocado esa parte nunca antes.

  • @DrHarrys
    @DrHarrys 2 ปีที่แล้ว +1

    Excelsior

  • @sanchez-emir
    @sanchez-emir 2 ปีที่แล้ว

    Buen video estiamdo, podrías hacer uno sobre mapstruct xfa.

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +1

      Lo tendré en cuenta, lo he estado testeando un poco hace unos días , esta muy bueno !

  • @luismejiablanco3449
    @luismejiablanco3449 2 ปีที่แล้ว

    Super excelente video, tengo una duda, el consumer ya queda activo por siempre escuchando ese topic?

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola Luis, si queda suscrito siempre. Gracias por comentar!

  • @nolediganamimadre5714
    @nolediganamimadre5714 2 ปีที่แล้ว

    Video de kafka!!!!

  • @davidleonardobernal61
    @davidleonardobernal61 2 ปีที่แล้ว +1

    Excelente video, vas a llegar a implementar el patrón saga?

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola David, si como parte de la serie un poco más adelante

  • @Jhironsel
    @Jhironsel 2 ปีที่แล้ว +1

    Seria bueno ir viendo cada concepto por separado en vídeos que se desplayen bien los conceptos.

  • @geekzk6770
    @geekzk6770 2 ปีที่แล้ว

    Buen video, tengo una duda, se puede relacionar una tabla de un microservicio con otro? Si es así me podrías orientar en como se hace?

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +1

      Hola Geekz, en realidad si el diseño es correcto debería pasar que los microservicios tengan sus bases de datos independientes y que cada microservicio sea responsable de guardar los datos que necesita para evitar tener que hacer eso que planteas, aunque se repita alguna parte de la información. Debe implementarse un mecanismo de consistencia (eventual) que permita garantizar que los datos sean consistentes en todas las bases. Bus de mensajes + CQRS pueden ayudar a eso 💪

    • @geekzk6770
      @geekzk6770 2 ปีที่แล้ว

      @@SACAViXTech Muchas gracias por tu respuesta🤙

  • @peqepeke
    @peqepeke ปีที่แล้ว

    crack

  • @rec147
    @rec147 2 ปีที่แล้ว

    tendras un ejemplo usando 2 microservios usando kafka en docker?

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola, no tengo, pero tengo Kafka con Docker si lo necesitas déjame saber y lo comparto

  • @mati0481
    @mati0481 ปีที่แล้ว

    cual es el theme del ide??

  • @pablodariocerezogualancana9316
    @pablodariocerezogualancana9316 2 ปีที่แล้ว +1

    Viendo este ejemplo entiendo por que node js es muy solicitado actualmente para el desarrollo de microservicios, las forma de configuracion resulta mas facil y menos verboso que java.

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Es cierto muchas startup arrancan por ahí que es más fácil, pero al final les pasa factura o tienen que ir a algo más escalable cómo Go o Java. Y si es cierto es menos verboso cómo dices, por suerte Kotlin vino al rescate 😊. Gracias por comentar.

    • @pablodariocerezogualancana9316
      @pablodariocerezogualancana9316 2 ปีที่แล้ว +1

      @@SACAViXTech y por el motivo economico tambien me parece que es mas facil encontrar un desarrollador jac
      vascript que acepte un sueldo bajo que en un programador java.

    • @francoprogrammer3591
      @francoprogrammer3591 2 ปีที่แล้ว

      ​@@pablodariocerezogualancana9316 Cada uno aporta lo necesario para el desarrollo de sistemas que es el principal objetivo de los programadores.

  • @alexandersepulveda5020
    @alexandersepulveda5020 2 ปีที่แล้ว +1

    Amigo tienes cursos en Udemy?

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +1

      Hola Alex, disculpa la demora, no tengo en udemy no, andamos creando plataforma propia porque Udemy hace que tengamos que subir los precios y encarece tanto para estudiantes como la ganancia que deja al profesor. Pronto lanzamos y avisamos

  • @juanzabala7177
    @juanzabala7177 2 ปีที่แล้ว

    Jum videos que no hay mucho en la red en español, preciso necesito estudiar esto para aplicarlo en la empresa

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว +1

      Hola Jum, gracias por tu comentario, que bueno que te sirva, igual no te quedes solo con esto, profundiza más que es inmenso el mundo kafka 😃

  • @pauolive7239
    @pauolive7239 ปีที่แล้ว

    Ufff que pereza ver tanto boilerplate code.. es lo típico que configuras una vez en un proyecto y luego haces copy paste siempre que lo necesites con pequeñas modificaciones jajaja

  • @ConvierteteAJesúsAhora
    @ConvierteteAJesúsAhora 3 หลายเดือนก่อน

    Por favor deja de decir "demonios".

  • @jesuscabanero4089
    @jesuscabanero4089 2 ปีที่แล้ว +3

    Hola! he probado el código, y si se escribe en un topic desde un proyecto con nombre diferente pero respetando clases (por ejemplo cambiando los nombres de los paquetes de este proyecto que escribe a "com.sacavixPrueba") el otro proyecto con el listener y esa configuración no lo leen, además de entrar en un bucle de errores que saltan por consola. El primero seria el de TRUSTED_PACKAGES" que una vez puesto a "*" para que acepte todos, sigue saltando un bucle de error por consola mencionando esta vez que la clase no existe, en este ejemplo seria asi:
    Caused by: org.springframework.messaging.converter.MessageConversionException: failed to resolve class name. Class not found [com.sacavixPrueba.events.RequestCreatedEvent]; nested exception is java.lang.ClassNotFoundException: com.sacavixPrueba.events.RequestCreatedEvent
    claro esta, mi proyecto que escucha tiene la mism a configuración que este pero estando la clase en com.sacavix.events.RequestCreatedEvent y no en com.sacavixPrueba.events.RequestCreatedEvent
    Es decir, unicamente se escuchan si proceden de un proyecto con los mismos paquetes y nombres de las clases igual, no estando esto de forma correcta.
    Un saludo y espero respuesta!!

    • @jesuscabanero4089
      @jesuscabanero4089 2 ปีที่แล้ว

      Otra cuestión es que en la linea 30 de KafkaConsumerConfig.java pone JsonSerializer, ¿No debería ser JsonDeserializer)

    • @SACAViXTech
      @SACAViXTech  2 ปีที่แล้ว

      Hola Jesus, gracias por comentar, pudiste resolver por fin este tema ? Las veces que lo he usado en realidad nunca he cambiado el classpath de casualidad, recuerdo solo que con redis me paso lo mismo en una ocasión, dime sino lo resolvistes y tiro unas pruebas y te ayudo a resolverlo. Gracias ! (perdona la demora en la respuesta)