Apache Kafka es un servicio de transmisión de mensajes que permite que diferentes aplicaciones en un sistema distribuido se comuniquen y compartan datos a través de mensajes.

Funciona como un pub/subsistema donde las aplicaciones productoras publican mensajes y los sistemas consumidores se suscriben a ellos.

Apache Kafka le permite adoptar una arquitectura débilmente acoplada entre las partes de su sistema que producen y consumen datos. Esto simplifica el diseño y la gestión del sistema. Kafka confía en Zookeeper para la gestión de metadatos y la sincronización de diferentes elementos del clúster.

Apache Kafka

Características de Apache Kafka

Apache Kafka se ha vuelto popular, entre otras razones, por ser

  • Escalable a través de clústeres y particiones
  • Rápido capaz de realizar 2 millones de escrituras por segundo
  • Mantiene el orden en que se envían los mensajes.
  • Confiable a través de su sistema de réplicas
  • Se puede actualizar sin tiempo de inactividad

Ahora, exploremos algunos de los casos de uso comunes de Kafka.

Casos de uso comunes de Apache Kafka

Kafka se usa a menudo para procesar grandes datos, registrar y agregar eventos, como clics de botones para análisis, y combinar registros de diferentes partes de un sistema en una ubicación central.

Ayuda a habilitar la comunicación entre diferentes aplicaciones en un sistema y el procesamiento en tiempo real de datos de dispositivos IoT.

Ahora, veamos los pasos detallados para instalar Kafka en Windows y Linux.

Instalación de Kafka en Windows

Primero, verifique si Java está instalado en su máquina para instalar Apache Kafka en Windows. Abra el símbolo del sistema en modo Administrador e ingrese el comando:

java --version

Si Java está instalado, debe obtener el número de versión de JDK actualmente instalado.

Si recibe un mensaje de error que dice que no se reconoció el comando, Java no se instaló y necesita instalar Java. Para instalar Java, diríjase a Adoptium.net y haga clic en el botón de descarga.

Esto debería descargar el archivo de instalación de Java. Cuando se complete la descarga, ejecute el instalador. Esto debería abrir el indicador de instalación.

Presione Siguiente repetidamente para elegir las opciones predeterminadas. Entonces debería comenzar la instalación. Verifique la instalación cerrando el símbolo del sistema, volviendo a abrir otro símbolo del sistema en modo Administrador e ingresando el comando:

java --version

Esta vez, debería obtener la versión de JDK que acaba de instalar. Una vez completada la instalación, podemos comenzar a instalar Kafka.

Para instalar Kafka, primero vaya al sitio web de Kafka.

Haga clic en el enlace y debería llevarlo a la página de Descargas. Descarga los últimos binarios disponibles.

Esto descargará los scripts y binarios de Kafka empaquetados en .tgzel archivo. Después de la descarga, debe extraer los archivos del archivo .tgz. Para extraer, usaré WinZip, que se puede descargar desde el sitio web de WinZip.

Después de extraer el archivo, muévalo a C:\tal que la ruta del archivo se convierta enC:\kafka

Luego abra el símbolo del sistema en modo Administrador e inicie Zookeeper navegando primero al directorio de Kafka. Y ejecutar el archivo zookeeper-server-start.bat con zookeeper.properties como archivo de configuración

cd C:\kafka
bin\windows\zookeeper-server-start.bat config\zookeeper.properties

Con Zookeeper ejecutándose, necesitamos agregar el wmicarchivo ejecutable que usa Kafka en nuestro sistema PATH,

set PATH=C:\Windows\System32\wbem\;%PATH%;

Después de esto, inicie el servidor Apache Kafka abriendo otra sesión del símbolo del sistema en modo Administrador y navegando a la C:\kafkacarpeta

cd C:\kafka

Luego inicie Kafka ejecutando

bin\windows\kafka-server-start.bat config\server.properties

Con esto, Kafka debería estar corriendo. Puede personalizar las propiedades del servidor, como dónde se escriben los registros en el server.propertiesarchivo.

Instalación de Kafka en Linux

Primero, asegúrese de que su sistema esté actualizado actualizando todos los paquetes

sudo apt update && sudo apt upgrade

A continuación, compruebe si Java está instalado en su máquina ejecutando

java --version

Si javaestá instalado, verá el número de versión. Sin embargo, si no es así, puede instalarlo usando apt.

sudo apt install default-jdk

Luego de esto, podemos instalar Apache Kafka descargando los binarios del sitio web.

kafka-descargas

Abre tu terminal y navega a la carpeta donde se guardó la descarga. En mi caso, tengo que navegar a la carpeta Descargas.

cd Downloads

Una vez en la carpeta de descargas, extraiga los archivos descargados usando tar:

tar -xvzf kafka_2.13-3.3.1.tgz

Navegar a la carpeta extraída

cd kafka_2.13-3.3.1.tgz

Enumere los directorios y archivos.

Una vez en la carpeta, inicie un servidor Zookeeper ejecutando el zookeeper-server-start.shscript ubicado en el bindirectorio de la carpeta extraída.

El script requerirá un archivo de configuración de Zookeeper. El archivo predeterminado se llama zookeeper.propertiesy se encuentra en el configsubdirectorio.

Entonces, para iniciar el servidor, use el comando:

bin/zookeeper-server-start.sh config/zookeeper.properties

Con Zookeeper ejecutándose, podemos iniciar el servidor Apache Kafka. El kafka-server-start.shscript también se encuentra en el bindirectorio. El comando también espera un archivo de configuración. El predeterminado se server.propertiesalmacena en el configarchivo.

bin/kafka-server-start.sh config/server.properties

Esto debería hacer que Apache Kafka se ejecute. Dentro del bindirectorio, encontrará muchos scripts para hacer cosas como crear temas, administrar productores y administrar consumidores. También puede personalizar las propiedades del servidor en el server.propertiesarchivo.

Ultimas palabras

En esta guía, explicamos cómo instalar Java y Apache Kafka. Si bien puede instalar y administrar clústeres de Kafka manualmente, también puede usar opciones administradas como Amazon Web Services y Confluent.