Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Kafka

Зачем

Реализация паттерна интеграции Message Broker.

  • Log processing and analysis
  • Data streaming in recommendations
  • System monitoring and alerting
  • CDC (Change data capture)
  • System migration

VS MessageBus

Фундаментальное отличие Kafka от брокеров очередей состоит в том, как сообщения хранятся на брокере и как потребляются консьюмерами:

  • Сообщения в Kafka не удаляются брокерами по мере их обработки консьюмерами — данные в Kafka могут храниться днями, неделями, годами.
  • Благодаря этому одно и то же сообщение может быть обработано сколько угодно раз разными консьюмерами и в разных контекстах.

Каждое сообщение (event или message) в Kafka состоит из:

  • ключа,
  • значения,
  • таймстампа
  • и опционального набора метаданных (так называемых хедеров).

Сообщения в Kafka организованы и хранятся в именованных топиках (Topics), каждый топик состоит из одной и более партиций (Partition), распределённых между брокерами внутри одного кластера.

TODO https://slurm.io/tpost/pnyjznpvr1-apache-kafka-osnovi-tehnologii