Processando mensagens do Kafka
Apache Kafka é um projeto de código aberto que fornece um recurso de serviço de mensagens, com base em um log de confirmação distribuído, que permite publicar e assinar dados em fluxos de registros de dados (mensagens). IBM® App Connect Enterprise fornece nós de entrada e saída integrados para processar mensagens Kafka. Um nó de fluxo médio também é fornecido para leitura de mensagens individuais em um tópico do Kafka.
O protocolo de sistema de mensagens Kafka é um protocolo baseado em TCP que fornece um método rápido, escalável e durável para a troca de dados entre aplicativos. Geralmente, nas arquiteturas de TI, são usados provedores de sistemas de mensagens para separar o processamento de mensagens dos aplicativos que os produzem. IBM App Connect Enterprise possui um suporte muito forte para muitos tipos de mensagens, incluindo IBM MQ, provedores de mensagens JMS e o protocolo de mensagens MQTT. Os nós Kafka expandem esse suporte para ajudar IBM App Connect Enterprise a interagir com aplicativos Kafka.
Para obter informações sobre as versões Kafkacompatíveis, consulte IBM App Connect Enterprise requisitos do sistema. Para obter mais informações sobre a compatibilidade de versões do Kafka, consulte a documentação Apache Kafka.
O Kafka é uma opção muito popular para arquiteturas baseadas em nuvem, nas quais os números de clientes conectados podem mudar com frequência, sem afetar as características de ajuste de escala. Os casos de uso comum em que o Kafka é considerado como um transporte de sistema de mensagens incluem:
- Sistemas de mensagens gerais
- É possível separar os aplicativos produtores e consumidores. Os dados que fluem entre os vários estágios de processamento em um aplicativo distribuído podem usar o Kafka como meio de conectar as etapas. Os recursos integrados fornecidos pelo Kafka para particionamento, replicação e tolerância a falhas podem torná-lo uma boa opção para esse tipo de sistema de mensagens de grande escala.
- mensagens Transacional
- Kafka oferece suporte a consumidores e produtores que operam juntos de forma transacional, e esse recurso permite que os fluxos de mensagens que usam os nós do Kafka forneçam exatamente a mesma semântica de mensagens. Para obter mais informações, consulte Mensagens transacionais com Kafka,
- Dimensionamento de mensagens com Kafka
- IBM App Connect Enterprise. Para obter mais informações, consulte Dimensionamento de mensagens com Kafka
- Controle da atividade do website
- Ao ser desenvolvido, o Kafka era usado para ajudar a controlar as visualizações de páginas, procuras ou outras ações executadas em um website. Essa atividade era publicada em um conjunto de tópicos centrais para diferentes tipos de atividades. Assim, os assinantes poderiam utilizar os dados para o processamento e monitoramento em tempo real e para a persistência em outros sistemas de data warehouse.
- Criação de log e métricas
- É possível usar o Kafka para agregar dados operacionais de várias origens.
- KafkaProducer que publica mensagens em um tópico Kafka
- KafkaConsumer nó que se inscreve em um tópico do Kafka e propaga o feed de mensagens publicadas para os nós conectados a jusante no fluxo
- Nó KafkaRead, que lê uma mensagem especificada de um tópico Kafka.

Cada partição é uma sequência ordenada de mensagens, cujo estado não pode ser alterado após sua criação. Cada uma das mensagens em uma partição recebe um número de ID sequencial, chamado offset, que identifica cada mensagem na partição de forma exclusiva. Todas essas mensagens são retidas durante um período configurável, independentemente de terem sido consumidas por outro aplicativo e, após esse tempo, as mensagens são descartadas a fim de liberar espaço. Essa abordagem para enfileiramento de mensagens é muito diferente da abordagem dos produtos de mensagens tradicionais, como o IBM MQ.
A ordenação de mensagens é preservada apenas em uma partição e não em todos os tópicos em uma partição; portanto, se a ordem de mensagens for importante, assegure-se de usar uma única partição por tópico, ou associar uma chave de mensagem a cada mensagem publicada. Um hash da chave de uma mensagem é usado para selecionar a partição para a qual a mensagem é enviada, de modo que todas as mensagens publicadas com a mesma chave são armazenadas na mesma partição.
Para obter mais informações sobre as mensagens do Kafka, consulte a documentação do Apache Kafka.
- Usando Kafka com IBM App Connect Enterprise
- Produzindo mensagens sobre tópicos Kafka
- Consumindo mensagens de tópicos Kafka
- Lendo uma mensagem individual de um tópico do Kafka
- Mensagens transacionais com Kafka
- Dimensionamento de mensagens com Kafka
- Configurando credenciais de segurança para a conexão com o Kafka
- Utilizando variáveis de ambiente locais com nós Kafka
- Configurando e recuperando propriedades do cabeçalho customizado Kafka
- Usando nós Kafka com IBM Event Streams
- Autenticando conexões em um cluster Kafka usando SASL/SCRAM
- Resolvendo problemas ao utilizar nós Kafka
- Usando a serialização Avro