Создайте для каждого независимого обработчика отдельную consumer group. Каждая группа читает topic со своими offsets, поэтому одно событие может обработать несколько разных сервисов.
Как организовать чтение одного и того же сообщения из Kafka несколькими разными потребителями (fan-out)?
Создайте для каждого независимого обработчика отдельную consumer group. Каждая группа читает topic со своими offsets, поэтому одно событие может обработать несколько разных сервисов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Создайте для каждого независимого обработчика отдельную consumer group. Каждая группа читает topic со своими offsets, поэтому одно событие может обработать несколько разных сервисов.
Внутри одной группы партиции распределяются между её участниками: это балансировка, а не fan-out каждому consumer. Отдельные group.id нужны, например, сервису уведомлений и сервису аналитики.
Каждая группа имеет собственную скорость и lag. Новому потребителю нужно явно определить стартовую позицию в пределах retention. Kafka не удаляет запись лишь потому, что одна группа её прочитала; доступность истории зависит от политики хранения topic.