использование назначения вместо подписки в кафке на стороне потребителя - PullRequest
0 голосов
/ 28 августа 2018

Когда у меня 1000 веб-сервера и все интересуются сообщениями из темы. Я думаю о записи определенных данных в определенный раздел темы, и более 1000 серверов заинтересованы в данных в этом конкретном разделе. Насколько хорошо реализовать назначение вместо подписки. Насколько масштабируем этот подход. можно назначить 1000+ потребителей для чтения данных из определенного раздела.

1 Ответ

0 голосов
/ 28 августа 2018

В Кафке каждый потребитель принадлежит к группе потребителей. Когда производитель Kafka отправляет сообщение определенной группе, записи раздела доставляются одному потребителю.

Если количество разделов превышает количество потребителей, то некоторые потребители будут использовать данные из более чем одного раздела. С другой стороны, если число потребителей больше, чем количество разделов, некоторые потребители будут неактивны, так как они не получат данных.

Вы не можете иметь несколько потребителей - в одной и той же группе потребителей - данные из одного раздела. Следовательно, чтобы использовать данные из одного и того же раздела с использованием N потребителей, вам также необходимо создать N различных групп потребителей.

Обратите внимание, что разбиение увеличивает параллелизм внутри кластера Kafka. Если вы создадите тысячи потребителей для потребления данных только из одного раздела, я подозреваю, что вы потеряете некоторый уровень параллелизма.


Подписаться против Назначить

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

Назначить принудительное назначение к списку тем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...