Apache Kafka - алгоритм / стратегия, используемая для извлечения сообщений из разных разделов одной и той же темы одним потребителем. - PullRequest
0 голосов
/ 20 мая 2018

Я уже некоторое время изучаю Apache Kafka.

Давайте рассмотрим следующий пример.

Предположим, у меня есть тема с 3 разделами.У меня есть один производитель и один потребитель.Я создаю свои сообщения без указания ключевого атрибута.

Итак, я знаю, что на стороне производителя, когда я публикую сообщение, стратегия, используемая kafka для назначения сообщения одному из этих разделов, будет Round-Robin..

Теперь я хочу знать, когда я начинаю одного потребителя, принадлежащего к определенной группе потребителей, слушающего эту же тему, какую стратегию он будет использовать для извлечения сообщений из разных разделов (поскольку3)?

Будет ли он следовать аналогичной модели циклического перебора, где он отправит запрос на выборку руководителю раздела 1, дождется ответа, получит ответ, вернет записи для обработки.Затем отправьте запрос на выборку руководителю раздела 2 и т. Д.

Если он следует какой-то другой стратегии / алгоритму, я хотел бы знать, что это такое?

Заранее спасибо.

1 Ответ

0 голосов
/ 20 мая 2018

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

Сегодня нет ничего страшного, что происходит в этом случае. Протокол показывает, что запрос на выборку включает раздел, поэтому вы получаете выборку для каждого раздела.Это означает, что заказ зависит от потребителя.Раздел не будет голодать, потому что запросы выборки будут выполняться для всех разделов, назначенных потребителю.

...