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

Поділитися
Вставка
  • Опубліковано 3 тра 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 UA-cam Music Library)
    DIRECT CONTACT:
    - Email: voy@acontra.tech
    MY SOCIALS:
    - Twitter: / acontratech​
    #microservicios #microservices #kafka #softwarearchitecture #cloud #architecture #it
  • Наука та технологія

КОМЕНТАРІ • 48

  • @javiblanco600
    @javiblanco600 Рік тому +9

    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!

  • @compartelo007
    @compartelo007 7 місяців тому

    Gracias por la explicación, saludos.

  • @borjagalisteo
    @borjagalisteo Рік тому +1

    Gran explicacion

  • @cristianmerida2077
    @cristianmerida2077 4 місяці тому +1

    Excelente explicacion!!, nuevo subscriptor

  • @Hufsa
    @Hufsa 2 роки тому

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

  • @danntmt
    @danntmt 2 роки тому

    Muy bueno!

  • @kamilinux
    @kamilinux 11 місяців тому

    increible video! me ayuda

  • @JoseMiguel32e
    @JoseMiguel32e 4 місяці тому +1

    molan tus vídeos sigue adelante =)

  • @anghelomunozlopez6127
    @anghelomunozlopez6127 Місяць тому

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

  • @andresrl72
    @andresrl72 Рік тому +1

    Gracias Jonathan!

    • @SAFEBYTELABS
      @SAFEBYTELABS  Рік тому

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

  • @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!

  • @Robot101
    @Robot101 Місяць тому

    Gracias por el vídeo.

  • @ingjuliosg
    @ingjuliosg 2 місяці тому +1

    gracias por el video

    • @SAFEBYTELABS
      @SAFEBYTELABS  Місяць тому +1

      Muchas gracias por comentar ;)

  • @jcsuarez73
    @jcsuarez73 15 днів тому +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  14 днів тому

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

  • @jacobogonzalezvargas9924
    @jacobogonzalezvargas9924 5 днів тому

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

  • @andrespaez4948
    @andrespaez4948 Рік тому

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

  • @maymontalvan
    @maymontalvan 9 місяців тому +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  9 місяців тому +1

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

  • @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!

  • @LuisRicardoLunaSoto
    @LuisRicardoLunaSoto Рік тому

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Рік тому +3

      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.

  • @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!

  • @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!! :)

  • @xSabaku
    @xSabaku Рік тому +1

    Me suena a SQS de AWS 🤔

    • @SAFEBYTELABS
      @SAFEBYTELABS  Рік тому

      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!

  • @LorenzoJimenez
    @LorenzoJimenez 5 місяців тому +1

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

    • @SAFEBYTELABS
      @SAFEBYTELABS  Місяць тому

      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!

  • @ituregano
    @ituregano Рік тому

    Muy buenas, el canal está parado?

    • @SAFEBYTELABS
      @SAFEBYTELABS  Рік тому +1

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