Как настроить тестовый Kafka-консюмер, чтобы он не конфликтовал с продовым и не было гонки за сообщением?

Тестовый consumer должен использовать отдельную group.id, а обычные тесты — изолированный topic или кластер. Consumers одной группы делят сообщения между собой.

Короткий ответ

Что ответить на собеседовании

Тестовый consumer должен использовать отдельную group.id, а обычные тесты — изолированный topic или кластер. Consumers одной группы делят сообщения между собой.

Подробный разбор

Ответ с пояснениями

Тестовый consumer должен использовать отдельную group.id, а обычные тесты — изолированный topic или кластер. Consumers одной группы делят сообщения между собой.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее