2

При попытке получить глубокое понимание модели распределения Kafka, one sentence here from StackOverflow заставил меня гудеть, и я не могу получить подтверждение или отрицать.Влияет ли количество групп потребителей на производительность Kafka

Таким образом, чем больше групп абонентов у вас есть, тем ниже производительность, так как kafka необходимо реплицировать сообщения всем этим группам и гарантировать общий порядок.

Насколько я понял из документов Kafka, несколько групп потребителей действуют подобно сингулярным потребителям. В брокерах нет репликации, так как у каждого потребителя есть свое смещение для определенного раздела. Поэтому количество групп не должно создавать значительных накладных расходов, все данные находятся на одном месте, только смещение отличается. Это верно?

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

ответ

1

Это не влияет на производительность процесса kafka, но поскольку 2 или более групп потребителей означает, что в 2 или более раз больше читается с серверов kafka, это влияет на использование сети в исходящем трафике, если у вас много групп потребителей. Кроме того, данные считываются из большей части памяти и не влияют на производительность, так как ram быстрее, чем сетевая связь.

+0

Спасибо, приятное продолжение :). –

1

Я нашел ответ сам, он находится в пределах нового потребителя API docs для Кафки 0.9 и после того, как:

Концептуально вы можете думать о группе потребителей как один логический абонент, который случается быть нескольких процессов. Как система с несколькими абонентами, Kafka, естественно, поддерживает любое количество групп потребителей для данной темы без дублирования данных (дополнительные потребители на самом деле довольно дешевы).

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