Apache Kafka

Проработать:

  1. Apache Kafka – мой конспект
  2. Apache Kafka in 6 minutes
  3. Apache Kafka vs message queue explained
  4. Почему мы используем Kafka вместо RabbitMQ: сравнение и преимущества
  5. Григорий Кошелев — Kafka: от теории к практике
  6. Немного о: RabbitMQ, Kafka, Redis, Memcached, NuxtJS, MongoDB, PostgreSQL
  7. Apache Kafka: устройство, плюсы, минусы и границы применимости
  8. System Design: Why is Kafka fast?
  9. Общение микросервисов между собой | Java | Kafka на практике
  10. Про Kafka (основы)
  11. Apache Kafka + Spring Boot: Hello, microservices
  12. Kafka без боли: моя шпаргалка для собесов в Java. Часть 5
  13. Секреты Apache Kafka API: обработка сообщений без потерь и дублей
  14. Apache Kafka: ZooKeeper vs KRaft — полное сравнение подходов
  15. Kafka Streams для начинающих. Потоковая обработка данных в мире Java
  16. Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции
  17. Consumer Lag

Основные разделы

Что это

Apache Kafka - это высокопроизводительная система обмена сообщениями для публикации-подписки, реализованная как распределенная, разделенная, реплицированная служба журнала фиксации. ZooKeeper - для работы с Kafka необходим координатор. Поэтому вначале стартуем ZooKeeper, затем сервер Kafka.

Для чего

Преимущества

Setting

Common kafka entities

Partition и Consumer

Если 5 Partitions и 10 Consumers

Один Partition может обслуживать только одного Consumer. Если больше Consumers они будут простаивать.

Если 10 Partitions и 5 Consumers

Каждый Consumer обрабатывает 2 Partitions

Подключение

При первом запросе на kafka broker, всегда будет возвращаться список ip и ports всех kafka brokers в Kafka cluster. Со второго вопроса начнется работа обмена данными.

Программы для мониторинга

  1. Kafka Tool
  2. KafkaCat

Ключ

Если 2 сообщения с одним ключем - будет добавлено 2 записи в один partition.

Kafka использует hash(key) % number_of_partitions для определения Partition.