Распространение Kafka Consumer не работает должным образом

У меня есть три темы, каждая из которых имеет три раздела на кластере кафки.

теперь всего 9 разделов. и когда я создаю 9 потребителей... 6 простаивают. используются только три потребителя.

ожидание таково: каждый потребитель должен получить один раздел и, следовательно, 9 потребителей должны получить документы из 9 разделов.

но вот что происходит: один потребитель получает сообщения из трех разделов по разным темам.

например. у меня есть три темы Topic_A, Topic_B и Topic_C и по три раздела в каждой. следовательно, разделы следующие:

Тема_A_0, Тема_A_1, Тема_A_2, Тема_B_0, Тема_B_1, Тема_B_2, Тема_C_0, Тема_C_1, Тема_C_2

Когда я создаю 9 потребителей, распределение работает следующим образом:

Consumer1: Topic_A_0,Topic_B_0,Topic_C_0 
Consumer2: Topic_A_1,Topic_B_1,Topic_C_1 
Consumer3: Topic_A_2,Topic_B_2,Topic_C_2
Consumer4,Consumer5,Consumer6,Consumer7,Consumer8,Consumer9 are idle

Так и должно быть

Consumer1: Topic_A_0
Consumer2: Topic_A_1
Consumer3: Topic_A_2

Consumer4: Topic_B_0
Consumer5: Topic_B_1
Consumer6: Topic_B_2

Consumer7: Topic_C_0 
Consumer8: Topic_C_1 
Consumer9: Topic_C_2

Нужна ли какая-либо конфигурация, чтобы все 9 потребителей получали сообщения от 9 уникальных разделов?


person Radhi    schedule 11.07.2018    source источник
comment
Все ли потребители подписаны на все три темы с помощью subscribe() API? Вы используете стратегию назначения разделов по умолчанию или используете что-то конкретное в конфигурации?   -  person vahid    schedule 11.07.2018


Ответы (2)


Убедитесь, что все ваши потребители подписываются на один и тот же набор тем под одним и тем же идентификатором группы потребителей. Для списка тем вы можете передать предопределенный список или регулярное выражение, на которое потребители могут подписаться. Идентификатор потребителя можно установить с помощью свойства group.id в файле Consumer.

person Bitswazsky    schedule 11.07.2018

Стратегия назначения разделов по умолчанию не работает в разных темах, поэтому это ожидаемое поведение. Аналогичный вопрос здесь: Kafka Consumers сбалансированы по темам

person ppatierno    schedule 13.07.2018