trilha

Tecnologias/03 - Filas/01 - Kafka1 minmoc

MOC Kafka

01 - Kafka

Kafka não é uma fila. É um log append-only, particionado e replicado, cuja retenção é independente do consumo — e cada palavra dessa frase produz uma consequência prática.

Definições e explicações

A comparação com RabbitMQ, SQS e Kinesis está em 5. Kafka vs Fila Tradicional, na seção de Comparações.

Conceitos relacionados

Os padrões conceituais já estão no vault: Asynchronism, Message Queues, Publisher-Subscriber, Competing Consumers, Queue-Based Load Leveling, Back Pressure e Idempotent Operations. Aqui você vê como o Kafka implementa (e não implementa) cada um deles.

A ideia que atravessa a seção

Kafka não entrega mensagens. Ele guarda um log e diz onde cada leitor parou.

Daí saem, em cascata:

  • Consumir não destrói → cinco sistemas leem o mesmo dado, em ritmos diferentes.
  • Reprocessar é mover um ponteiro → corrigir um bug de consumidor é resetar offset, não reenviar dado.
  • Ordem só existe dentro da partição → ordenar globalmente significa uma partição, ou seja, um consumidor.
  • Retenção é custo de disco → o histórico que você quer guardar tem preço mensurável.

E o corolário operacional, que vale para qualquer broker:

Assíncrono não elimina a falha — ele a transforma em lag. Por isso a métrica número um de todo sistema com Kafka é o consumer lag, e o alerta é na derivada dele.


Parte de Filas · kafka.apache.org

Buscar

Busca por título, seção e texto das notas