2015-01-14 3 views
0

Мне нужно прочитать последние сообщения из темы kafka, которая содержит 3 раздела. Мне нужно прочитать те же данные из 5 разных клиентов, сначала я попытался работать с Simple Consumer, но он не работает с несколькими разделами. Цель состоит в том, чтобы обрабатывать разделы для пользователей Группы, а также получать одинаковые сообщения всем клиентам.Возможно ли, чтобы все клиенты в Kafka Consumer Group просматривали одни и те же данные?

ответ

2

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

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

+0

Да, это именно то, что я сделал, так работает потребитель командной строки. Моя единственная забота - это то, что «мусор», который Кафка спасает от Zookeeper. Каждый раз, когда создается группа потребителей, Kafka также создает znode с деталями группы потребителей, например, как последнее смещение, полученное от группы. – 15412s

+0

Вы правы. Для каждого нового потребителя данные хранятся в zookeeper. Я думаю, вы не должны сильно беспокоиться об этих zNodes, поскольку они являются внутренними для Kafka, а также у них будет очень мало данных. – puneet

+0

В чем заключается использование нескольких потребителей в одной и той же группе потребителей, если только один потребитель будет потреблять сообщение в этой группе. – Gnana

1

Вы должны использовать разные имена групп клиентов для разных клиентов.

Рассмотрите это: у вас есть тема с 3 разделами. У клиента 1 есть бегущий потребитель (или несколько потребителей независимо) в группе 1 и получает сообщения от всех разделов. Клиент 2 имеет потребителя в группе 2 и т. Д.

Таким образом, у вас может быть 2 потребителя в группе 1, которые потребляют сообщения для клиента 1, и 3 потребителя в группе 2, которые потребляют сообщения для клиента 2 или любых других конфигураций вы можете себе представить.