Проблема с идентификатором группы потребителей Python KafkaPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с идентификатором группы потребителей Python Kafka

Сообщение Anonymous »

AFAIK,

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

Но, используя библиотеку kafka в Python я столкнулся со странной проблемой. Я запустил двух потребителей с одинаковыми идентификаторами групп и запустил потоки для обработки ими сообщений.

Но каждое сообщение в потоке kafka используется они оба!! Мне это кажется смешным и даже концептуально неверным. Могу ли я каким-либо образом сопоставить потребителей с определенными (отдельными) разделами вручную (если они не сопоставляются с разными разделами автоматически)?

Вот код:

Код: Выделить всё

from kafka import KafkaConsumer
import thread

def con1(consumer):
for msg in consumer:
print msg

consumer1 = KafkaConsumer('k-test', group_id='grp1', bootstrap_servers=['10.50.23.120:9092'])
consumer2 = KafkaConsumer('k-test', group_id='grp1', bootstrap_servers=['10.50.23.120:9092'])

thread.start_new_thread(con1, (consumer1,))
thread.start_new_thread(con1, (consumer2,))
Вот вывод некоторых сообщений, которые я создал с помощью kafka-console-producer:

Код: Выделить всё

ConsumerRecord(topic=u'k-test', partition=0, offset=47, timestamp=None, timestamp_type=None, key=None, value='polki')
ConsumerRecord(topic=u'k-test', partition=0, offset=47, timestamp=None, timestamp_type=None, key=None, value='polki')
ConsumerRecord(topic=u'k-test', partition=0, offset=48, timestamp=None, timestamp_type=None, key=None, value='qwewrg')
ConsumerRecord(topic=u'k-test', partition=0, offset=48, timestamp=None, timestamp_type=None, key=None, value='qwewrg')
ConsumerRecord(topic=u'k-test', partition=0, offset=49, timestamp=None, timestamp_type=None, key=None, value='shgjas')
ConsumerRecord(topic=u'k-test', partition=0, offset=49, timestamp=None, timestamp_type=None, key=None, value='shgjas')
ожидалось по одному каждому из них. Кстати, в этой теме k-test есть 2 раздела.

Подробнее здесь: https://stackoverflow.com/questions/383 ... p-id-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»