Информационные системы в процессе своей работы порождают большое количество событий, которые могут быть связаны как с самой системой, так и с реализуемой предметной областью.
Но созданные события нужно доставить до получателей - других компонентов информационной системы, и в этом случае на помощь приходят брокеры очередей сообщений и стриминговые системы. В этом ролике речь пойдёт о самой популярной системе стриминга событий - Apache Kafka и будут описаны следующие темы:
- Краткое описание стримов данных
- Терминология Kafka
- Локальный запуск Apache Kafka
- Использование утилит CLI для отправки и получения сообщений
- Отправка и получение сообщений в проекте на Java
00:00:00 Вступление
00:01:35 Про стримы данных
00:06:36 Терминология и теория Kafka
00:21:00 Установка и запуск Kafka
00:31:39 Отправка и получение сообщений в CLI
00:47:49 Создание отправителя в Java
00:55:21 Использование транзакций
01:02:55 Не идемпотентные отправители и подтверждение записи
01:06:12 Создание получателя в Java
01:08:28 Ручное назначение партиций получателю
01:11:14 Получение сообщений
01:16:57 Подписка на топик в группе получателей
01:25:00 Поиск смещения
01:39:55 Фиксация прочитанных смещений получателем
01:55:30 Про семантики доставки
02:01:35 Пример семантики Exactly Once
02:06:40 Выводы
Связанные с роликом статьи:
Про очереди сообщений: https://alexkosarev.name/2024/10/25/about-mq/
Начало работы с Kafka: https://alexkosarev.name/2024/10/31/kafka-intro/
Запуск Apache Kafka в кластере: https://alexkosarev.name/2024/11/04/kafka-clustering/
Apache Kafka: партиции и реплики: https://alexkosarev.name/2024/11/08/kafka-partitions-and-replicas/
Отправка сообщений в Kafka: https://alexkosarev.name/2024/12/03/kafka-sending-messages/
Получение сообщений из Kafka: https://alexkosarev.name/2024/12/04/kafka-receiving-messages/
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Поддержать проект: https://www.tinkoff.ru/cf/4PEOiVCZQuS