Тестовый consumer должен использовать отдельную group.id, а обычные тесты — изолированный topic или кластер. Consumers одной группы делят сообщения между собой.
Как настроить тестовый Kafka-консюмер, чтобы он не конфликтовал с продовым и не было гонки за сообщением?
Тестовый consumer должен использовать отдельную group.id, а обычные тесты — изолированный topic или кластер. Consumers одной группы делят сообщения между собой.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Тестовый consumer должен использовать отдельную group.id, а обычные тесты — изолированный topic или кластер. Consumers одной группы делят сообщения между собой.
Уникальная consumer group получает собственные offsets и не отбирает партиции у production-группы. Но общий production-topic всё равно несёт риски доступа, нагрузки и чтения чужих данных, поэтому предпочтителен тестовый контур. До отправки события дождитесь назначения партиций, задайте начальную позицию чтения и используйте correlation ID. auto.offset.reset действует только при отсутствии пригодного offset и не гарантирует чтение только нового тестового сообщения. Ожидание ограничивают timeout, затем consumer корректно закрывают.