Apache Kafka - Arquitetura de Cluster

Dê uma olhada na ilustração a seguir. Ele mostra o diagrama de cluster de Kafka.

A tabela a seguir descreve cada um dos componentes mostrados no diagrama acima.

S.Não Componentes e Descrição
1

Broker

O cluster Kafka geralmente consiste em vários brokers para manter o equilíbrio de carga. Os corretores Kafka não têm estado, portanto, usam o ZooKeeper para manter o estado do cluster. Uma instância do broker Kafka pode lidar com centenas de milhares de leituras e gravações por segundo e cada bro-ker pode lidar com TB de mensagens sem impacto no desempenho. A eleição do líder do corretor Kafka pode ser feita pelo ZooKeeper.

2

ZooKeeper

ZooKeeper é usado para gerenciar e coordenar o corretor Kafka. O serviço ZooKeeper é usado principalmente para notificar o produtor e o consumidor sobre a presença de qualquer novo corretor no sistema Kafka ou falha do corretor no sistema Kafka. De acordo com a notificação recebida pelo Zookeeper sobre a presença ou falha do corretor, o produtor e o consumidor tomam decisões e começam a coordenar suas tarefas com algum outro corretor.

3

Producers

Os produtores enviam dados aos corretores. Quando o novo broker é iniciado, todos os produtores o procuram e automaticamente enviam uma mensagem para esse novo broker. O produtor Kafka não espera por confirmações do corretor e envia mensagens tão rápido quanto o corretor pode manipular.

4

Consumers

Como os corretores Kafka não têm estado, o que significa que o consumidor precisa manter quantas mensagens foram consumidas usando o deslocamento de partição. Se o consumidor reconhece um deslocamento de mensagem particular, isso implica que o consumidor consumiu todas as mensagens anteriores. O consumidor emite uma solicitação de pull assíncrona para o broker ter um buffer de bytes pronto para consumir. Os consumidores podem retroceder ou pular para qualquer ponto em uma partição simplesmente fornecendo um valor de deslocamento. O valor de compensação do consumidor é notificado pelo ZooKeeper.