Aprende Apache Kafka desde Cero

Autor: | Última modificación: 20 de enero de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

¿Qué es Apache Kafka?

Apache Kafka es un sistema de mensajes “publish/subscribe” basado en una arquitectura P2P. Creada inicialmente por Linkedin, fue posteriormente donada a la Apache Software Foundation, por lo cual pasó a ser Open Source. Actualmente es fundamental a la hora de  procesar millones de datos. Esta plataforma ha empezado a ganar renombre gracias a que grandes empresas como Netflix y Microsoft la usan en sus arquitecturas. Apache Kafka está escrito en Java y Scala, por lo cual debes tener nociones básicas de estos lenguajes para empezar a usarla. Hace unos días tuvimos un webinar de introducción a Apache Kafka junto a Andrés Gómez Ferrer donde aprendimos a usarlo desde cero, y por esto, aquí te dejaremos los conceptos básicos que necesitas para entender su funcionamiento y un caso práctico para que empieces a picar algo de código en esta herramienta.

Primeros pasos

Antes de empezar, debes conocer Zookeeper, (necesario para levantar Kafka). Este es un servicio distribuido que sirve para almacenar configuraciones distribuidas y gestiones multiservicio. Internamente funciona como un árbol de directorio, cada elemento de la estructura es conocido como Znode, los cuales pueden almacenar información en su interior, por ejemplo un JSON String. En la estructura de Apache Kafka hay dos partes importantes llamadas productores y consumidores. Dependiendo de la configuración de cada proyecto, Kafka puede funcionar bajo dos tipos de sistemas de mensajes. El primero es un Modelo de Cola, en el cual el productor distribuye los mensajes de manera equitativa a todos los consumidores, y la otra manera es llamada publicador/suscriptor en el que los consumidores se suscriben a un topic y de esta manera un mismo mensaje puede llegar a varios consumidores. El servicio principal de esta herramienta es Kafka Broker, donde se crean las colas de mensajes o también llamadas topics. Los topics se pueden dividir en particiones para que de esta manera se puedan fraccionar en diferentes clusters, y así facilitar su procesamiento. Dentro de las particiones se almacenan los mensajes que tienen un identificador único llamado offset. Otra parte importante dentro de Kafka son las Réplicas, las cuales funcionan para garantizar la continuidad de los servicios, ya que si algún broker llega a fallar tendrá un respaldo y un procedimiento que Kafka puede utilizar para seguir funcionando. La Réplicas se asignan a cada Topic y el número máximo de estas debe ser igual o menor a la cantidad de brokers asignados. La parte más importante en Kafka son los mensajes, los cuales están compuestos por cuatro partes: Header, Timestamp, Clave y un Valor. La clave se suele utilizar para decidir a qué partición va cada mensaje.

¿Cómo crear un topic?

Lo más importante en las líneas de código de este proceso, es incluir el número de Particiones, el número de Réplicas y de manera opcional las configuraciones del Topic. El código se debe ver así:
kafka-topics.sh --zookeper localhost:2181 --create --topic topicTest --partitions 4 --replication-factor 2 -config x=y

¿Cómo conseguir Kafka?

Al ser una herramienta Open Source, su descarga es muy fácil y para ello puedes ir a esta página. Ahora que ya lo tienes instalado en tu ordenador, aquí te dejamos un ejercicio práctico para que entiendas su funcionamiento y lo empieces a usar.
En Big Data podrás encontrar miles de retos y beneficios que solo esta industria te puede ofrecer, convertirte en un experto en esta especialidad es posible en tan solo seis meses y mucho esfuerzo de tu parte. Descubre el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp y conoce cómo lograrás esta meta con nosotros. Descarga aquí el temario o si tienes preguntas, programa una llamada con nosotros.

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 5.000 vacantes para desarrolladores de Big Data sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!