Kafka Topics são categorias lógicas de eventos no Apache Kafka.

Produtores escrevem eventos em tópicos. Consumidores leem eventos desses tópicos.

Kafka Topics aparece quando sistemas precisam conversar sem ficarem grudados um no outro. Mensageria serve para desacoplar, absorver picos e lidar melhor com falhas.

Ao estudar, pense sempre em produtor, consumidor, mensagem, retry e DLQ.


O que é

Kafka Topics deve ser entendido como comunicação indireta entre partes de uma aplicação. Em vez de um componente depender da resposta imediata de outro, mensagens permitem desacoplar envio, espera, processamento e falha.

Mensageria desacopla produtores e consumidores.


Por que existe

Kafka Topics existe para desacoplar partes de uma aplicação, absorver variação de carga e permitir comunicação assíncrona ou orientada a eventos. Sem mensageria, componentes ficam mais dependentes do tempo de resposta uns dos outros.


Como funciona

Partições

Tópicos são divididos em Kafka Partitions.

Partições permitem paralelismo e ordenação dentro de cada partição.

Retenção

Eventos permanecem no tópico por tempo ou tamanho configurado.

Consumidores podem reler eventos enquanto ainda estão retidos.

Tópicos e Consumidores

Vários Kafka Consumer Groups podem ler o mesmo tópico de forma independente.

Isso permite que analytics, auditoria e processamento operacional usem o mesmo fluxo.


Exemplo prático

  • pedido-criado
  • pagamento-aprovado
  • estoque-atualizado

Uma API pode receber uma solicitação, publicar uma mensagem em Amazon SQS e responder rapidamente ao usuário. Workers processam a fila depois. Se falharem, mensagens podem ser repetidas ou enviadas para Dead Letter Queue (DLQ).

Em outro cenário, Amazon SNS distribui uma mensagem para vários consumidores, enquanto Amazon EventBridge roteia eventos por padrão.


Diferenças importantes

Como Diferenciar

  • SQS é fila.
  • SNS é pub/sub.
  • EventBridge é barramento de eventos.
  • MQ é broker gerenciado.
  • MSK é Kafka gerenciado.
  • Kinesis é streaming.

Cuidados

Tópicos mal definidos geram acoplamento, excesso de eventos ou dificuldade de governança.

Criar tópico para tudo aumenta fragmentação.

Usar tópico único para tudo aumenta acoplamento.

A escolha precisa seguir domínio, volume, retenção e consumidores.

Mensageria exige lidar com duplicidade, ordem, atraso, reprocessamento e observabilidade.

Não basta “colocar na fila”. O consumidor precisa ser idempotente, monitorado e preparado para falhas.

Mensageria exige idempotência, retries, DLQ e observabilidade.


Relação com outras notas

Relação com Domínio

Um tópico deve representar um fluxo de eventos com significado claro.

Exemplos:

  • pedido-criado
  • pagamento-aprovado
  • usuario-cadastrado

Nomes genéricos como eventos dificultam governança.