Apache Kafka é uma plataforma de streaming de eventos distribuída de código aberto. Este tutorial oferece uma introdução a Kafka da perspectiva de um iniciante.

Recentemente, escrevemos um artigo sobre “Kafka vs Redis Pub-Sub”, que explica sobre as diferenças entre Kafka e Redis Pub-Sub. Nesse artigo, em breve explicamos sobre o próprio corretor de mensagens Kafka. Portanto, agora este artigo fornece mais informações sobre a plataforma de streaming de eventos de código aberto Apache Kafka e fornece a você todas as informações necessárias para começar com a fila de mensagens distribuídas Kafka. Então vamos começar.
- Introdução ao Apache Kafka
- O que é um sistema de mensagens?
- Termos Fundamentais
- Etapas de instalação
- Crie um tópico
- Escreva mensagem no tópico
- Leia mensagens do tópico
- Conclusão
Introdução ao Apache Kafka
O corretor de mensagens de código aberto do Apache Kafka foi iniciado no LinkedIn e depois se tornou um projeto Apache de código aberto. O software Kafka Message Broker é desenvolvido em Scala e Java. O Apache Kafka Broker é um sistema de mensagens de inscrição de publicação que permite que a troca de dados entre aplicativos, servidores e processadores também. É rápido, escalável e distribuído pelo design. É capaz de lidar com milhões de dados ou mensagens por segundo. Funciona como mediador entre o sistema de origem (produtor) e o sistema de destino (consumidor). Organizações como Netflix, Uber e milhares de empresas fazem uso do streaming em tempo real do Apache Kafka. Em comparação com outros sistemas de mensagens, o software da fila de mensagens Kafka possui melhor taxa de transferência, particionamento interno, replicação e tolerância à falha inerente. Isso o torna um bom ajuste para aplicativos de processamento de mensagens em larga escala.
O que é um sistema de mensagens?
Um sistema de mensagens é uma troca simples de mensagens entre duas ou mais pessoas, dispositivos, etc. É responsável pela transferência de dados de um aplicativo para outro, para que os aplicativos possam se concentrar nos dados, mas não se preocupem em como compartilhá -lo. Um tipo de sistema de mensagens é “sistema de mensagens Point a Point”. Neste sistema, as mensagens são armazenadas em uma fila quando enviadas pelo produtor. Apenas um consumidor pode consumir uma mensagem a qualquer momento. E, depois que a mensagem for consumida, ela será removida da fila. Um dos exemplo deste sistema é o sistema de processamento de pedidos. Onde apenas um processo pode processar a ordem. Outro tipo de sistema de mensagens é o sistema de mensagens Pub-Sub que permite que um remetente envie a mensagem e um receptor para ler essa mensagem. Nas mensagens do Apache Kafka, um remetente é conhecido como produtor que publica mensagens e um receptor é conhecido como um consumidor que consome essa mensagem assinando -a. Um exemplo deste sistema é a sua TV a cabo que publica muitos canais, e qualquer pessoa pode se inscrever na escolha de canais e obtê -los sempre que seus canais assinados estiverem disponíveis.
Termos fundamentais
Antes de falarmos mais sobre a melhor fila de mensagens Apache Kafka, você deve entender alguns dos termos.
- Tópicos : Um fluxo de mensagens pertencentes a uma categoria específico é chamado de tópico.
- Partição : Os tópicos podem ter muitas partições, para que possam lidar com uma quantidade arbitrária de dados.
- Offset Partition : Cada mensagem particionada possui um ID de sequência exclusivo chamado “Offset”.
- REPLICAS DE PARTIÇÃO : As réplicas são backups de uma partição. Eles são usados para evitar a perda de dados.
- corretores : são responsáveis por manter os dados publicados.
- Kafka Cluster : Kafka está tendo mais de um corretor é chamado de cluster kafka.
- Produtores : são os editores das mensagens para um ou mais tópicos.
- Consumidores : são o leitor dos dados dos corretores. Eles assinam vários tópicos e consomem sempre que houver uma mensagem no tópico.
- Líder : O nó é responsável por todas as leituras e gravações para qualquer partição.
- seguidores : Nó que segue as instruções do líder são chamadas de seguidores.
Etapas de instalação
Etapa 1 - Verificando a instalação do Java
Espero que você já tenha instalado o Java em sua máquina agora, então você apenas o verifique usando o seguinte comando.
$ java -version
Se o Java for instalado com sucesso em sua máquina, você poderá ver a versão do Java instalado. Caso contrário, você deve primeiro instalar Java.
Etapa 2 - Instalação da estrutura do Zookeeper
Visite o link a seguir e faça o download da versão mais recente do Zookeeper. {{LINE_46}} Depois de terminar com instalação e configuração, você pode iniciar o Zookeeper com o seguinte comando
$ bin/zkServer.sh start
E depois use o seguinte comando para se conectar ao Zookeeper da CLI
$ bin/zkCli.sh -server 127.0.0.1:2181
Uma vez conectado, você deve ver algo assim
Connecting to localhost:2181
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
Welcome to ZooKeeper!
JLine support is enabled
[zkshell: 0]
Etapa 3 - Instalação do Apache Kafka
Faça o download do mais recente Kafka Best Message Broker Lanke e extrai -o do seguinte URL {{LINE_55}}
$ tar -xzf kafka_2.13-2.7.0.tgz
$ cd kafka_2.13-2.7.0
Execute os seguintes comandos para iniciar todos os serviços na ordem correta:
# Start the ZooKeeper service
# Note: Soon, ZooKeeper will no longer be required by Apache Kafka.
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Abra outra sessão do terminal e execute:
# Start the Kafka broker service
$ bin/kafka-server-start.sh config/server.properties
Crie um tópico
Para escrever suas mensagens ou eventos em tópicos, você deve primeiro criar um tópico. Para criar um tópico, abra seu terminal e execute o seguinte comando:
$ bin/kafka-topics.sh --create --topic weather-updates --bootstrap-server localhost:9092
Agora, criamos um tópico com o nome “Updates de clima”, onde publicaremos informações sobre clima e os consumidores consumirão essas mensagens.
$ bin/kafka-topics.sh --describe --topic weather-updates --bootstrap-server localhost:9092
Topic:weather-updates PartitionCount:1 ReplicationFactor:1 Configs:
Topic: quickstart-events Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Escreva mensagem no tópico
Execute o cliente do produtor de console para escrever alguns eventos em seu tópico. Por padrão, cada linha inserida resultará em um evento separado sendo gravado no tópico.
$ bin/kafka-console-producer.sh --topic weather-updates --bootstrap-server localhost:9092
Weather for New York is Cloudy
Weather for Houston is Rainy
Leia mensagens do tópico
Abra outra sessão do terminal e execute o cliente do console do consumidor para ler os eventos que você acabou de criar:
$ bin/kafka-console-consumer.sh --topic weather-updates --from-beginning --bootstrap-server localhost:9092
Weather for New York is Cloudy
Weather for Houston is Rainy
Sinta -se à vontade para experimentar: por exemplo, volte para o terminal do seu produtor (etapa anterior) para escrever eventos adicionais e veja como os eventos aparecem imediatamente no seu terminal de consumo.
Conclusão
Neste tutorial, aprendemos sobre o básico do uso do Apache Kafka. Instalamos o serviço de fila Kafka e depois o configuramos. Também aprendemos a criar tópicos em Kafka, enviar mensagens para tópicos e como ler mensagens dos tópicos. Espero que este artigo tenha sido útil para você. Vamos nos encontrar no próximo artigo. O que a plataforma de streaming de eventos distribuída de código aberto você usa?. Você tem alguma dúvida?, Por favor entre em contato.
Explore
Você pode encontrar links a seguir relevantes: