Escolar Documentos
Profissional Documentos
Cultura Documentos
#apachekafka#kafka#brailizandevs#microsservicos
Entendendo o Kafka (6 Part Series)
1O que é o Apache Kafka2Rodando o Apache Kafka localmente...2 more
parts...5Anatomia de um Tópico6Log Cleanup no Kafka
Esse artigo é uma reescrita de um que escrevi 2 anos atrás. Naquela época estava
tentando entender como funcionava esse middleware tão importante em sistemas
distribuídos. Depois trabalhei na reestruturação de um sistema bem complexo usando
Kafka como base de verdade.
O que é?
Pub/Sub
Quando usamos APIs REST (ou gRPC) estamos limitados a conhecer o destinatário e
enviar para todos os destinatários que estão esperando essa mensagem. Usando um
middleware Pub/Sub não precisamos nos preocupar com isso.
Em uma arquitetura Pub/Sub, temos duas perguntas básicas para fazer ao se enviar
uma mensagem:
O Kafka
Kafka estende o conceito de Pub/Sub ao seu limite. O que de certa forma por o tornar
bem mais complexo que seus similares como RabbitMQ, ActiveMQ, ou
o SQS/SNS da Amazon.
Essas duas últimas features são bastantes complexas e não devem ser utilizadas sem
muito experimentação prévia.
Referência Literária
Há um termo comum que muitos não devem conhecer que é a Burocracia Kafkaniana.
Talvez se você é que nem eu, que conhece a literatura de Franz Kafka, mas nunca a
leu, só sabe que ele vira uma barata, você não saberá que ele tinha horror a burocracia
e que isso está expresso nos livros dele.
Talvez esse nome se refere ao problema que o Apache Kafka resolve. Seu sistema não
precisa ser que nem Guichês do Detran, vai de um para outro, para outro...
indefinidamente!!!
Conclusão
1. Gerar Eventos
2. Ouvir os Eventos interessados
Assim há um grande desacoplamento dos serviços. Você pode criar uma Loja virtual
que apenas emite um evento de CompraEfetuada gerando assincronamente:
1. Um serviço de EmitirNotaFiscal
2. Um serviço de ProcessarPacote
3. Etc...
4. Etc... no tempo! Daqui a 1 semana você pode criar um novo serviço e usar
TODOS esses eventos!