Skip to main content
Version: next

Kafka

Componente externo

Componente usado como message broker entre los componentes .NET Core, usando al patrón producer/consumer, donde un componente produce un mensaje y otro componente consume el mensaje para procesarlo.

Este componente se despliega en modo cluster donde el servidor de administración y todos los servidores de aplicaciones son nodos, cada uno cuenta con un kafka-controller y un kafka-broker. La cantidad mínima de nodos para formar un cluster es de tres, con esto tenemos una Alta Disponibilidad, con esta configuración se puede tolerar la falla de uno de los nodos y aun mantener el quorum necesario para que el cluster siga operativo.

Kafka Controller

Componente kafka con el rol de controller que se encarga de organizar la gestión de brokers, topics, particiones y réplicas dentro del cluster.

Características técnicas
  • Formato: imagen docker
  • Despliegue: servidor de administración y servidores de aplicaciones
  • Ubicación docker compose: /opt/viridian/kafka-controller/docker-compose.yml
  • Imagen docker base: confluentinc/cp-kafka:7.9.0
  • Puertos expuestos: 9093

Kafka Broker

Componente kafka con el rol de broker que se encarga recibir datos de los producers, almacenarlos y luego entregarlos a los consumers. Cada broker maneja una parte de los datos, y los datos están replicados en varios brokers para asegurar la disponibilidad y durabilidad. Los brokers colaboran entre sí para equilibrar la carga y gestionar los datos de manera eficiente.

Características técnicas
  • Formato: imagen docker
  • Despliegue: servidor de administración y servidores de aplicaciones
  • Ubicación docker compose: /opt/viridian/kafka-controller/docker-compose.yml
  • Imagen docker base: confluentinc/cp-kafka:7.9.0
  • Puertos expuestos: 9092,9992

Kafka UI

Componente para visualizar la información de los brokers, topics y consumers del cluster kafka.

Se puede acceder mediante el proxy desplegado en el servidor de administración y las credenciales de acceso son generadas de forma aleatoria durante el proceso de instalación, en el punto: Configuración de Kafka, los valores están disponibles en el archivo defaults/local_vars.yml en el directorio ansible del servidor de administración:

Ejemplo:

  kafka:
username: kafka
password: 6JGEyMlXzK3x4OCN2OVi

component_kafka

Características técnicas
  • Formato: imagen docker
  • Despliegue: servidor de administración
  • Ubicación docker compose: /opt/viridian/kafka-ui/docker-compose.yml
  • Imagen docker base: ghcr.io/kafbat/kafka-ui:v1.2.0
  • Puertos expuestos: ninguno