Para entender o básico de Apache Kafka PartiçãoS, você precisa saber sobre Kafka Tema primeiro.
A Tema é como um banco de dados em um banco de dados SQL, como o Mariadb para Apache Kafka. A Tema tem um nome ou identificador que você usa para agrupar mensagens em Apache Kafka.
A Partição é como um canal para cada Tema. A Tema pode ter muitos Partiçãos ou canais.
Um cabo de rede conectando dois computadores tem duas extremidades, um está enviando dados, o outro está recebendo dados. Assim, o tópico Apache Kafka tem dois fins, Produtorareia Consumidors. A Produtor cria mensagens e as envia em um dos Partiçãosofá Tema. A Consumidor Por outro lado, lê as mensagens do Partiçãosofá Tema.
Múltiplo PartiçãoS ou canais são criados para aumentar a redundância. Também é usado para agrupar mensagens em um específico Tema.
Iniciando o servidor Apache Kafka:
Se você seguiu meu artigo para instalar o Apache Kafka, inicie o servidor Apache Kafka com o seguinte comando:
$ sudo kafka-server-start.sh /etc /kafka.propriedades
O servidor Apache Kafka deve começar. Mantenha este terminal aberto, desde que deseje que o servidor Apache Kafka seja executado.
Criando um tópico Apache Kafka:
Você pode criar um apache kafka Tema teste com o seguinte comando:
$ sudo kafka-topics.Sh \
--criar \
--Zookeeper localhost: 2181 \
--Fator de replicação 1 \
--Partições 1 \
--Teste de tópico
O Tema teste deve ser criado. Esse Tema tem 1 partição.
Se você quiser criar, digamos N partições, depois definido -partições para N.
Vamos criar outro Tema, Digamos Usuários, com 3 Partiçãos, então execute o seguinte comando:
$ sudo kafka-topics.Sh \
--criar \
--Zookeeper localhost: 2181 \
--Fator de replicação 1 \
--Partições 3 \
--usuários de tópicos
Usuários de tópicos deve ser criado com 3 Partiçãos.
Adicionando mensagens particionadas ao tópico:
A Partiçãomensagem de ed de um Tema tem um chave e a valor. O chave e valor geralmente é separado por um vírgula ou outro personagem especial. Não importa qual personagem especial você usa para separar o chave e valor par. Mas você deve usar o mesmo personagem especial em todos os lugares que Tema. Caso contrário, as coisas podem dar errado.
O chave é usado para determinar qual Partição uma mensagem de um Tema pertence a. Deve ser único em um Tema. Se você tem 3 Partiçãos, então você deve usar 3 diferente chaves. Para que as mensagens possam ser divididas em 3 Partiçãos.
Digamos nosso Usuários Tema tem 3 usuários com chave 1, 2, e 3, Cada um deles pertence a um dos 3 Partiçãos do Tópico dos usuários.
Execute o seguinte comando para adicionar o primeiro usuário com chave 1 usando o API do produtor Kafka:
$ echo "1, nome: 'shahriar shovon', país: 'bd'" | Sudo kafka-console-produtor.Sh \
--Localhost de corretor: 9092 \
--Usuários de tópico \
--Propriedade Parse.chave = true \
--chave da propriedade.separador =,
Agora você pode listar a mensagem do Usuários Tema usando o API do consumidor Kafka com o seguinte comando:
$ sudo kafka-consumer-consumer.Sh \
--Zookeeper localhost: 2181 \
--Usuários de tópico \
--impressão de propriedade.chave = true \
--chave da propriedade.separador =, \
--do começo
Como você pode ver, o chave e valor par Eu acabei de adicionar ao Usuários Tema está listado.
Eu vou manter o Consumidor programa para Usuários Tema abrir neste terminal e adicione os outros usuários ao Usuários Tema de outro terminal e veja o que acontece.
Adicione outro usuário com chave 2 com o seguinte comando:
$ echo "2, nome: 'John Doe', país: 'bd'" | Sudo kafka-console-produtor.Sh \
--Localhost de corretor: 9092 \
--Usuários de tópico \
--Propriedade Parse.chave = true \
--chave da propriedade.separador =,
Como você pode ver na seção marcada da captura de tela abaixo, o novo usuário está listado no programa de consumidores instantaneamente.
Vamos adicionar nosso último usuário com chave 3 com o seguinte comando:
$ echo "3, nome: 'Evelina aquilino', país: 'nós'" | Sudo kafka-console-produtor.Sh \
--Localhost de corretor: 9092 \
--Usuários de tópico \
--Propriedade Parse.chave = true \
--chave da propriedade.separador =,
Como você pode ver, o novo usuário também está listado no Consumidor programa.
Você também pode adicionar muitos usuários ao mesmo Partição. Apenas certifique -se de que o chave é o mesmo.
Vamos adicionar outro usuário ao Partição com chave 1:
$ echo "1, nome: 'Lynelle Piatt', país: 'ca'" | Sudo kafka-console-produtor.Sh \
--Localhost de corretor: 9092 \
--Usuários de tópico \
--Propriedade Parse.chave = true \
--chave da propriedade.separador =,
Como você pode ver, o novo usuário é adicionado ao correto Partição do Tópico dos usuários.
Eu posso continuar adicionando usuários aleatórios ao Usuários Tema E eles serão enviados pela partição correta, como você pode ver na captura de tela abaixo.
Então é assim Partiçãos em Apache Kafka funciona. Todo Partição é como um Fila, A primeira mensagem que você envia através dessa partição é exibida primeiro e depois a segunda mensagem e assim por diante na ordem em que são enviados.
Se você é um Java desenvolvedor, você pode usar Java linguagem de programação e APACH KAFKA Java APIs fazer coisas interessantes com apache kafka Partiçãos. Por exemplo, você pode atribuir diferente Partição Para diferentes salas de bate -papo para o seu aplicativo de mensagens instantâneas, pois as mensagens devem ser exibidas no pedido que elas são enviadas.
Então isso é tudo por hoje. Obrigado por ler este artigo.