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

Sdílet
Vložit
  • čas přidán 9. 06. 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 CZcams Music Library)
    DIRECT CONTACT:
    - Email: voy@acontra.tech
    MY SOCIALS:
    - Twitter: / acontratech​
    #microservicios #microservices #kafka #softwarearchitecture #cloud #architecture #it
  • Věda a technologie

Komentáře • 55

  • @javiblanco600
    @javiblanco600 Před rokem +12

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před rokem +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 ;)

  • @anghelomunozlopez6127
    @anghelomunozlopez6127 Před 2 měsíci +1

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

  • @rodolfoguadalupefriaslugo1856

    Tus videos son geniales, me han ayudado!

  • @jcsuarez73
    @jcsuarez73 Před měsícem +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  Před měsícem

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

  • @cristianmerida2077
    @cristianmerida2077 Před 6 měsíci +2

    Excelente explicacion!!, nuevo subscriptor

  • @compartelo007
    @compartelo007 Před 8 měsíci

    Gracias por la explicación, saludos.

  • @Hufsa
    @Hufsa Před 2 lety

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

  • @JoseMiguel32e
    @JoseMiguel32e Před 5 měsíci +1

    molan tus vídeos sigue adelante =)

  • @borjagalisteo
    @borjagalisteo Před rokem +1

    Gran explicacion

  • @kamilinux
    @kamilinux Před rokem

    increible video! me ayuda

  • @danntmt
    @danntmt Před 2 lety

    Muy bueno!

  • @efrainpardo1
    @efrainpardo1 Před měsícem +1

    Muy buena explicacion.

  • @Robot101
    @Robot101 Před 2 měsíci

    Gracias por el vídeo.

  • @andrespaez4948
    @andrespaez4948 Před rokem +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  Před rokem

      Á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!

  • @andresrl72
    @andresrl72 Před rokem +1

    Gracias Jonathan!

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před rokem

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

  • @edsonsabino
    @edsonsabino Před 2 lety +1

    Muchas gracias!

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před 2 lety +1

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

  • @ingjuliosg
    @ingjuliosg Před 3 měsíci +1

    gracias por el video

  • @jacobogonzalezvargas9924
    @jacobogonzalezvargas9924 Před měsícem +1

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před měsícem +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!!

  • @pc1983JB
    @pc1983JB Před rokem +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  Před rokem +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 !!!

  • @Otaku8760
    @Otaku8760 Před 2 lety +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  Před 2 lety +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!!!!

  • @maymontalvan
    @maymontalvan Před 10 měsíci +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  Před 10 měsíci +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

  • @jcorellana29
    @jcorellana29 Před měsícem +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  Před měsícem +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!

  • @LuisRicardoLunaSoto
    @LuisRicardoLunaSoto Před rokem

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před rokem +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.

  • @daygorolinux
    @daygorolinux Před 2 lety +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  Před 2 lety +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!

  • @alanescobedo9265
    @alanescobedo9265 Před 2 lety +1

    Se pueden ejecutar multi threads en kafka?

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před 2 lety +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!

  • @enjaya1
    @enjaya1 Před rokem

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před rokem +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 Před 6 měsíci +2

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před 3 měsíci +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 Před 2 lety +2

    Me suena a SQS de AWS 🤔

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před 2 lety

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

    • @LuisRicardoLunaSoto
      @LuisRicardoLunaSoto Před rokem

      @@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  Před rokem +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 Před rokem

    Muy buenas, el canal está parado?

    • @SAFEBYTELABS
      @SAFEBYTELABS  Před rokem +1

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

  • @panadeero
    @panadeero Před 27 dny

    Gracias, entendí menos