Apache Kafka - Fundamentos

Antes de se aprofundar no Kafka, você deve estar ciente das principais terminologias como tópicos, corretores, produtores e consumidores. O diagrama a seguir ilustra as principais terminologias e a tabela descreve os componentes do diagrama em detalhes.

No diagrama acima, um tópico é configurado em três partições. A partição 1 tem dois fatores de deslocamento 0 e 1. A partição 2 tem quatro fatores de deslocamento 0, 1, 2 e 3. A partição 3 tem um fator de deslocamento 0. O id da réplica é igual ao id do servidor que a hospeda.

Suponha que, se o fator de replicação do tópico for definido como 3, o Kafka criará 3 réplicas idênticas de cada partição e as colocará no cluster para disponibilizá-las para todas as suas operações. Para equilibrar uma carga no cluster, cada broker armazena uma ou mais dessas partições. Vários produtores e consumidores podem publicar e recuperar mensagens ao mesmo tempo.

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

Topics

Um fluxo de mensagens pertencentes a uma categoria específica é chamado de tópico. Os dados são armazenados em tópicos.

Os tópicos são divididos em partições. Para cada tópico, o Kafka mantém um mínimo de uma partição. Cada partição contém mensagens em uma sequência ordenada imutável. Uma partição é implementada como um conjunto de arquivos de segmento de tamanhos iguais.

2

Partition

Os tópicos podem ter muitas partições, portanto, podem lidar com uma quantidade arbitrária de dados.

3

Partition offset

Cada mensagem particionada tem um id de sequência exclusivo chamado de deslocamento .

4

Replicas of partition

As réplicas nada mais são do que backups de uma partição. As réplicas nunca são lidas ou gravadas em dados. Eles são usados ​​para evitar a perda de dados.

5

Brokers

  • Os corretores são sistemas simples responsáveis ​​por manter os dados publicados. Cada corretor pode ter zero ou mais partições por tópico. Suponha que, se houver N partições em um tópico e N número de brokers, cada broker terá uma partição.

  • Suponha que se houver N partições em um tópico e mais de N brokers (n + m), o primeiro N broker terá uma partição e o próximo M broker não terá nenhuma partição para esse tópico específico.

  • Suponha que se houver N partições em um tópico e menos de N brokers (nm), cada broker terá um ou mais compartilhamento de partição entre eles. Este cenário não é recomendado devido à distribuição desigual de carga entre o corretor.

6

Kafka Cluster

O fato de Kafka ter mais de um corretor é chamado de cluster Kafka. Um cluster Kafka pode ser expandido sem tempo de inatividade. Esses clusters são usados ​​para gerenciar a persistência e a replicação dos dados da mensagem.

7

Producers

Os produtores são os editores de mensagens para um ou mais tópicos do Kafka. Os produtores enviam dados aos corretores Kafka. Cada vez que um produtor publica uma mensagem para um corretor, o corretor simplesmente anexa a mensagem ao último arquivo de segmento. Na verdade, a mensagem será anexada a uma partição. O produtor também pode enviar mensagens para uma partição de sua escolha.

8

Consumers

Os consumidores leem dados de corretores. Os consumidores assinam um ou mais tópicos e consomem mensagens publicadas puxando dados dos corretores.

9

Leader

Líder é o nó responsável por todas as leituras e gravações para uma determinada partição. Cada partição tem um servidor atuando como líder.

10

Follower

O nó que segue as instruções do líder é chamado de seguidor. Se o líder falhar, um dos seguidores se tornará automaticamente o novo líder. Um seguidor atua como consumidor normal, puxa mensagens e atualiza seu próprio armazenamento de dados.