Kafka: Qué es y cómo funciona (en menos de 10')

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 มิ.ย. 2024
  • Un video breve para explicar qué es exactamente Apache Kafka, cómo se usa y qué beneficios tiene en su uso con microservicios.
    Timestaps:
    00:00 Intro
    00:42 Kafka definition
    01:16 Relation with MQTT
    02:16 Topic and Partition
    02:45 Records and Logs
    03:10 Offsets
    04:10 Replica and Replication
    04:46 Replica Leaders and Followers
    GEAR USED IN THIS VIDEO
    - Recording Kit: kit.co/acontratech
    SOUND & MUSIC
    - Music: "Wrong" (Royalty free from the TH-cam Music Library)
    DIRECT CONTACT:
    - Email: voy@acontra.tech
    MY SOCIALS:
    - Twitter: / acontratech​
    #microservicios #microservices #kafka #softwarearchitecture #cloud #architecture #it
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @javiblanco600
    @javiblanco600 ปีที่แล้ว +12

    Esta es la mejor explicación corta de Kafka que he visto. Ojalá puedas subir más vídeos al canal.

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

      Muchas gracias. Tengo varios scripts hechos y solo me falta un poco más de tiempo para grabar y publicar. El canal tiene vida ;)

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

    Tus videos son geniales, me han ayudado!

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

    Gran explicacion

  • @anghelomunozlopez6127
    @anghelomunozlopez6127 2 หลายเดือนก่อน +1

    Excelente video, después de buscar tantos videos este explica muy bien

    • @SAFEBYTELABS
      @SAFEBYTELABS  2 หลายเดือนก่อน

      Muchas gracias.

  • @cristianmerida2077
    @cristianmerida2077 6 หลายเดือนก่อน +2

    Excelente explicacion!!, nuevo subscriptor

  • @compartelo007
    @compartelo007 8 หลายเดือนก่อน

    Gracias por la explicación, saludos.

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

    Pues si que me ha ayudado este video y en menos de 7 minutos, muchas gracias.

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

      Muchas gracias y genial!!!!!

  • @JoseMiguel32e
    @JoseMiguel32e 5 หลายเดือนก่อน +1

    molan tus vídeos sigue adelante =)

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

    increible video! me ayuda

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

    Muy bueno!

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

    Muchas gracias!

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

      Sin duda, muchas gracias a tí por tu tiempo. Es un placer poder ayudar, aunque sea mínimamente. Un abrazo!

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

    Gracias Jonathan!

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

      A ti, por dedicarme una parte de tu tiempo. Saludos!

  • @Robot101
    @Robot101 2 หลายเดือนก่อน

    Gracias por el vídeo.

    • @SAFEBYTELABS
      @SAFEBYTELABS  2 หลายเดือนก่อน

      Muchas gracias ;)

  • @efrainpardo1
    @efrainpardo1 29 วันที่ผ่านมา +1

    Muy buena explicacion.

    • @SAFEBYTELABS
      @SAFEBYTELABS  27 วันที่ผ่านมา

      Muchas gracias ☺️

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

    gracias por el video

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

      Muchas gracias por comentar ;)

  • @jcsuarez73
    @jcsuarez73 หลายเดือนก่อน +2

    Suscrito ya, me gusta el estilo claro y directo para explicar , sigue así no llenes tus vídeos de tanta tonterías para mantener audencia siendo exacto, claro y directo ganas más

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

      Muchas gracias por tus palabras dé ánimo. Intentaste hacerlo bien 👍😁

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

    estoy entrando en el mundo de la programacion y he quedado mas perdido, pero con constancia entenderé, no bajarpe la guardia ante el aprendizaje

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

      Ánimo, hay cuestiones en tecnología que no son fáciles, ni mucho menos. Empieza a programar operando con ficheros y bases de datos relacionales para poco a poco pasar a otros tipos de backends (nosql documental, nosql time series, caches, pub/sub y colas). Date un tiempo y no desesperes. Saludos!

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

    hola! muy bien explicado. Me surge una duda, cuando dices que se puede leer a diferentes velocidades, a qué te refieres? puedes configurar un 'consumer' para que lea por ejemplo de la cola cada 5 segundos? Gracias, y un saludo!

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

      Hola Juan. Muy buena pregunta :) Cuando digo en el video "a diferentes velocidades" me refiero a dos cosas, 1) que un consumidor puede leer a diferente velocidad que otro consumidor, por la razón que sea, teniendo cada uno un punto concreto de lectura en el offset, es decir, que uno puede leer mas rápido que otro por la razón que sea..... y 2) que cuando un consumidor esta leyendo de un tópico puede decirle al broker "hey! estoy aquí, sigo vivo, pero ocupado trabajando, no me desconectes". Esto es porque si Kafka detecta consumidores que no están constantemente leyendo del broker entiende que están "dead" (muertos) y los desconecta. Pero para que eso no suceda se pueden poner configuraciones de tiempo de "heartbeat" y tiempos de "polling" de tal manera que un consumidor tenga un tiempo determinado para poder decirle a Kafka "hey sigo aquí trabajando" ademas de responder a heartbeats y realizar lecturas del offset. Espero haberte aclarado la consulta. Muchas gracias !!! Saludos !!!

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

    Muy buen video. No conocía kafka. Es parecido a Rabbitmq?

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

      Muchas gracias por tu tiempo e interés☺️ Rabbitmq y Apache Kafka son sistemas de mensajería distribuida de código abierto, pero tienen diferentes casos de uso. Kafka es un log puramente distribuido diseñado para una transmisión de eventos eficiente a escala, mientras que RabbitMQ es un sistema de mensajería tradicional diseñado para una publicación y eliminación rápida de mensajes. Saludos!!

  • @maymontalvan
    @maymontalvan 10 หลายเดือนก่อน +1

    Gracias por la información. Podrías dar un ejemplo de como leer esos topics de Kafka con cualquier lenguaje de programación. ?

    • @SAFEBYTELABS
      @SAFEBYTELABS  10 หลายเดือนก่อน +2

      Hola May, muchas gracias por tu comentario. Te adjunto un enlace a un ejemplo de un productor y a un consumidor escrito en Python 3. Espero haber podido ayudarte. Saludos!
      Repo: github.com/safebytelabs-jgonf/acontratech-examples/tree/main/kafka-101

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

    Hola! me gusto tu explicación me quedo mucho más claro el funcionamiento, actualmente en mi trabajo debo aplicarlo. Me surgió una duda ¿en que casos se aplica la replica de kafka? 🤔

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

      Hola!! La replicación es una práctica habitual en Kafka. Una replica, o simplemente replicar, es el proceso necesario para tener múltiples copias de los datos que viajan por el broker por el solo propósito de asegurar que la información no se pierda. Es to es mejor entendido cuando pensamos en la creación de un cluster, donde múltiples brokers componen el cluster y todos tienen la misma información. La forma de que todos tengan esta información de log es la replicación en sí misma. Espero haberte ayudado a entender mejor el concepto. Saludos!!!!

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

    Recién estoy empezando con Kafka, pero le veo parecido a AWS SQS y RabbitMQ. ¿Se usan para lo mismo?

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

      Hola Luís. En pocas palabras los tres son brokers de mensajes, y usan un modelo de pub/sub para operar. No obstante, entre ellos encontrarás diferencias respecto de throughput, capacidad de routing, opciones de funcionamiento aislado/en cluster y acknowledgement de mensajes. Hay un último factor a tener en cuenta: algunos pueden resultar más fáciles de gestionar que otros. A mi apreciación personal, por orden de simplicidad ordenados quedarían así: 1) SQS, 2) Kafka/MSK y finalmente 3) RabbitMQ.

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

    Muy buena aplicación solo tengo una duda... Si un productor emite un mensaje A y tengo 3 consumidores, los 3 consumidores verán o podrán acceder al mismo mensaje o registro A? O funciona como una cola si un consumidor (el primero que haya tomado el mensaje A) toma de Kafka y desaparece ese mensaje?

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

      Hola, muchas gracias por tu comentario. En Kafka, los mensajes son consumidos por cada consumidor de forma independiente, lo que significa que cada consumidor puede acceder al mismo mensaje sin afectar a los otros consumidores. Además, cuando un consumidor lee un mensaje, este mensaje no desaparece. Otros consumidores aún pueden acceder al mismo mensaje, ya que Kafka retiene los mensajes hasta que se configure su retención o se alcance el tiempo de retención predeterminado. Espero haber podido aclarar tu duda. Saludos!

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

    Se pueden ejecutar multi threads en kafka?

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

      Hola Alan, sí que se puede ejecutar múltiples hilos para concurrencia. Kafka internamente organiza los datos de los tópicos en particiones de tal manera que se pueden procesar independientemente. Productores y Consumidores se aprovechan de esta característica para depositar o recoger datos con “pool of threads”. Creo que tu pregunta está más orientada a consumidor que a productor. Te recomiendo esta lectura: www.confluent.io/es-es/blog/kafka-consumer-multi-threaded-messaging/. Saludos!

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

    gracias buen contenido, consulta maestro, explicaba al inicio sobre el tiempo de vida de un mensaje , cuanto es esto y si el mismo es configurable, agradezco su tiempo, saludos desde Ecuador

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

      Hola, me alegra que te gusten los contenidos que produzco :)
      Cuando un productor envía un mensaje a Kafka lo que esta haciendo realmente es agregarlo a un fichero de log y lo retiene durante un tiempo configurado para ese fichero de los específico. Cuando se crea un tópico se puede configurar el periodo de retención de mensajes y los time-to-live. Como referencia sencilla te adjunto un link con más detalles de configuración explicados de una manera sencilla:
      www.baeldung.com/kafka-message-retention
      Saludos!

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

    ¿Me puedes recomendar algún curso pàra aprender a usar KAFKA?
    Gracias!

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

      Hola Enjaya, te recomiendo dos lecturas y un curso de pago pero muy económico:
      Lectura 1: aprenderbigdata.com/introduccion-apache-kafka/
      Lectura 2: www.enmilocalfunciona.io/aprendiendo-apache-kafka-parte-1/
      Curso de pago (49€): formacionhadoop.com/producto/curso-apache-kafka/
      Un saludo!! :)

  • @LorenzoJimenez
    @LorenzoJimenez 6 หลายเดือนก่อน +2

    No explicó que es . Es un orquestador de servicios?

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

      En muy pocas palabras, Kafka es un sistema o plataforma distribuida de almacenamiento y distribución de eventos. Sirve para, entre otras funciones, precisamente lo contrario de lo que hace un orquestador de servicios, es decir, facilita que los servicios se comuniquen entre sí sin un elemento central que organiza esta comunicación. Espero haberte ayudado. Muchas gracias y saludos!

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

    Me suena a SQS de AWS 🤔

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

      Hola Ramiro, en AWS sería MSK. Saludos.

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

      @@SAFEBYTELABS ¿Cual sería la diferencia? Haciendo la simil, en SQS, tenemos a un productor que puede ser un lambda que deja datos en la cola SQS, y tu desencadenador de lambda sería el consumidor...

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

      @@LuisRicardoLunaSoto Hay muchas diferencias que no son solamente el modelo de publicación/subscripción. Por ejemplo, SQS es un servicio elástico y escala de manera ilimitada mientras que MSK soporta 30 brokers por cluster. SQS no garantiza el orden de mensajes, mientras que MSK sí, dentro de la misma partición, cuyo tamaño máximo es 250Gb. SQS persiste datos durante unas dos semanas, mientas que en MSK la persistencia es configurable. En SQS existe una limite de mensaje (256kb) mientras que en MSK este parámetro es configurable, con un máximo de 8Mb. Como ves, las diferencias son sucintas. Espero haberte ayudado. Muchas gracias. Saludos!

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

    Muy buenas, el canal está parado?

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

      Negativo, sigo preparando materiales, aunque algunos no sean para TH-cam. Ahora estoy dando un curso de Python por Telegram, aunque he dudado si convertirlo en un curso en TH-cam ya que veo material de sobra al efecto. ¿Que opinas? Saludos y gracias por le interés ;)

  • @panadeero
    @panadeero 23 วันที่ผ่านมา

    Gracias, entendí menos

    • @SAFEBYTELABS
      @SAFEBYTELABS  20 วันที่ผ่านมา

      Más siempre es más 😆🙏