Apache Kafka é uma plataforma distribuída de mensagens e streaming. o projeto tem como objetivo fornecer uma plataforma unificada, de alta capacidade e baixa latência para tratamento de dados em tempo real. Sua camada de armazenamento é, essencialmente, uma "fila de mensagens de publishers/subscribers maciçamente escalável projetada como um log de transações distribuído", tornando-o altamente valioso para infra-estruturas corporativas que processam transmissão de dados. Além disso, Kafka se conecta a sistemas externos (para importação/exportação de dados) através do Kafka Connect e ainda fornece o Kafka Streams, uma biblioteca Java de processamento de fluxos.
Aprofunfandando mais sobre comunicação assíncrona. Entendendo as vantagens do Kafka como broker de mensagens e aprenda como usar Producers, Processors e Consumers. Saber como se conectar aos serviços externos e aumente a disponibilidade através de um cluster. Ver na pratica como paralelizar e escalar a execução construindo uma solução baseada na arquitetura de microsserviços.
Depois de pegar os fundamentos do Kafka e a arquitetura de microserviços avançaremos no uso dela. Replicar os seus dados e saber como lidar com erros no processamento. Aprender como definir um dead letter queue e tentativas de reenvio. Crie múltiplos tópicos para o mesmo serviço e saiba como obter garantias sobre o envio e entrega de mensagens.