Kafka: Qué es y cómo funciona (en menos de 10')
2024 ж. 3 Мам.
31 850 Рет қаралды
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 KZhead Music Library)
DIRECT CONTACT:
- Email: voy@acontra.tech
MY SOCIALS:
- Twitter: / acontratech
#microservicios #microservices #kafka #softwarearchitecture #cloud #architecture #it
Esta es la mejor explicación corta de Kafka que he visto. Ojalá puedas subir más vídeos al canal.
Muchas gracias. Tengo varios scripts hechos y solo me falta un poco más de tiempo para grabar y publicar. El canal tiene vida ;)
Tus videos son geniales, me han ayudado!
Gracias por la explicación, saludos.
Gran explicacion
Excelente explicacion!!, nuevo subscriptor
Pues si que me ha ayudado este video y en menos de 7 minutos, muchas gracias.
Muchas gracias y genial!!!!!
Muy bueno!
increible video! me ayuda
molan tus vídeos sigue adelante =)
Excelente video, después de buscar tantos videos este explica muy bien
Muchas gracias.
Gracias Jonathan!
A ti, por dedicarme una parte de tu tiempo. Saludos!
Muchas gracias!
Sin duda, muchas gracias a tí por tu tiempo. Es un placer poder ayudar, aunque sea mínimamente. Un abrazo!
Gracias por el vídeo.
Muchas gracias ;)
gracias por el video
Muchas gracias por comentar ;)
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
Muchas gracias por tus palabras dé ánimo. Intentaste hacerlo bien 👍😁
estoy entrando en el mundo de la programacion y he quedado mas perdido, pero con constancia entenderé, no bajarpe la guardia ante el aprendizaje
Á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!
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!
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 !!!
Gracias por la información. Podrías dar un ejemplo de como leer esos topics de Kafka con cualquier lenguaje de programación. ?
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
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? 🤔
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!!!!
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
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!
Muy buen video. No conocía kafka. Es parecido a Rabbitmq?
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!!
Recién estoy empezando con Kafka, pero le veo parecido a AWS SQS y RabbitMQ. ¿Se usan para lo mismo?
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.
Se pueden ejecutar multi threads en kafka?
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!
¿Me puedes recomendar algún curso pàra aprender a usar KAFKA? Gracias!
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!! :)
Me suena a SQS de AWS 🤔
Hola Ramiro, en AWS sería MSK. Saludos.
@@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...
@@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!
No explicó que es . Es un orquestador de servicios?
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!
Muy buenas, el canal está parado?
Negativo, sigo preparando materiales, aunque algunos no sean para KZhead. Ahora estoy dando un curso de Python por Telegram, aunque he dudado si convertirlo en un curso en KZhead ya que veo material de sobra al efecto. ¿Que opinas? Saludos y gracias por le interés ;)