Мы используем Kafka для доставки событий в наш микросервис. Мы заполняем/используем поле «ключ», чтобы гарантировать, что события с одним и тем же ключом помещаются в один и тот же раздел и обрабатываются последовательно. Мы также настроили потребительский параллелизм, создав множество контейнеров-прослушивателей в одном экземпляре микросервиса. недавно во время тестирования мы увидели, что 5 из 6 контейнеров-прослушивателей обрабатывают события с одним и тем же ключом.

(здесь мы видим, что ListenerContainer- обрабатывает событие с одним и тем же ключом. Указатель останова был условным для ключа)
Я видел другой пост (или здесь), в котором рекомендуется создание ConsumerRebalanceListener
Действительно ли необходимо вручную обрабатывать назначение разделов при использовании потребительского параллелизма?
использование ключей для сохранения назначения разделов кажется поведением по умолчанию, почему его нужно переписывать?
Мобильная версия