El tutorial de Apache Kafka proporciona los conceptos básicos y avanzados de Apache Kafka. Este tutorial está diseñado tanto para principiantes como para profesionales.
Apache Kafka es una plataforma de software de procesamiento de flujo de código abierto que se utiliza para manejar el almacenamiento de datos en tiempo real. Funciona como intermediario entre dos partes, es decir, un remitente y un destinatario. Puede manejar alrededor de billones de eventos de datos en un día.
El recorrido del tutorial de Apache Kafka cubrirá todos los conceptos, desde su arquitectura hasta sus conceptos centrales.
¿Qué es Apache Kafka?
Apache Kafka es una plataforma de software basada en un proceso de transmisión distribuida. Es un sistema de mensajería de publicación-suscripción que también permite el intercambio de datos entre aplicaciones, servidores y procesadores. Apache Kafka fue desarrollado originalmente por LinkedIn , y posteriormente fue donado a la Apache Software Foundation. Actualmente es mantenido por Confluente bajo la Fundación de Software Apache. Apache Kafka ha resuelto el problema letárgico de la comunicación de datos entre un remitente y un receptor.
¿Qué es un sistema de mensajería?
Un sistema de mensajería es un simple intercambio de mensajes entre dos o más personas, dispositivos, etc. Un sistema de mensajería de publicación-suscripción permite que un remitente envíe/escriba el mensaje y que un receptor lea ese mensaje. En Apache Kafka, un remitente se conoce como productor quién publica los mensajes, y un receptor se conoce como consumidor quién consume ese mensaje suscribiéndolo.
¿Qué es el proceso de transmisión?
Un proceso de streaming es el procesamiento de datos en sistemas conectados en paralelo. Este proceso permite que diferentes aplicaciones limiten la ejecución paralela de los datos, donde un registro se ejecuta sin esperar la salida del registro anterior. Por lo tanto, una plataforma de transmisión distribuida permite al usuario simplificar la tarea del proceso de transmisión y la ejecución paralela. Por tanto, una plataforma de streaming en Kafka tiene las siguientes capacidades clave:
- Tan pronto como se producen los flujos de registros, los procesa.
- Funciona de manera similar a un sistema de mensajería empresarial donde publica y suscribe flujos de registros.
- Almacena los flujos de registros de forma duradera y tolerante a fallos.
Para aprender y comprender Apache Kafka, los aspirantes deben conocer las siguientes cuatro API principales:
API de productor: Esta API permite/permite que una aplicación publique flujos de registros en uno o más temas. (discutido en una sección posterior)
API de consumidor: Esta API permite que una aplicación se suscriba a uno o más temas y procese el flujo de registros generados para ellos.
API de transmisiones: Esta API permite que una aplicación transforme eficazmente los flujos de entrada en flujos de salida. Permite que una aplicación actúe como un procesador de flujo que consume un flujo de entrada de uno o más temas y produce un flujo de salida para uno o más temas de salida.
API de conector: Esta API ejecuta las API reutilizables de productor y consumidor con las aplicaciones o sistemas de datos existentes.
¿Por qué Apache Kafka?
Apache Kafka es una plataforma de software que tiene las siguientes razones que describen mejor la necesidad de Apache Kafka.
- Apache Kafka es capaz de manejar millones de datos o mensajes por segundo.
- Apache Kafka funciona como mediador entre el sistema de origen y el sistema de destino. Por lo tanto, los datos del sistema de origen (productor) se envían a Apache Kafka, donde desacopla los datos, y el sistema de destino (consumidor) consume los datos de Kafka.
- Apache Kafka tiene un rendimiento extremadamente alto, es decir, tiene un valor de latencia realmente bajo, inferior a 10 ms, lo que demuestra que es un software muy versado.
- Apache Kafka tiene una arquitectura resistente que ha resuelto complicaciones inusuales en el intercambio de datos.
- Organizaciones como NETFLIX, UBER, Walmart, etc. y más de miles de empresas de este tipo utilizan Apache Kafka.
- Apache Kafka puede mantener la tolerancia a fallos. Tolerancia a fallos significa que a veces un consumidor consume con éxito el mensaje entregado por el productor. Sin embargo, el consumidor no puede procesar el mensaje debido a una falla en la base de datos del servidor o debido a la presencia de un error en el código del consumidor. En tal situación, el consumidor no puede volver a consumir el mensaje. En consecuencia, Apache Kafka resolvió el problema reprocesando los datos.
- Aprender Kafka es una buena fuente de ingresos. Así, aquellos que deseen aumentar sus ingresos en el futuro en el sector de TI pueden aprender.
Requisito previo
Los aspirantes deben tener conocimientos básicos de programación Java y algunos conocimientos de comandos de Linux.
Audiencia
Este viaje a Apache Kafka está diseñado para principiantes, desarrolladores y personas que desean aprender cosas nuevas.
Problemas
Te aseguramos que no encontrarás ningún problema en este Apache KafkaTutorial. Pero si hay algún error, publique el problema en un formulario de contacto.