многопроцессорность в кафка-питоне

Я использую модуль python-kaka для использования от брокера kafka. Я хочу использовать из той же темы с количеством разделов «x» параллельно. В документации есть это:

# Use multiple consumers in parallel w/ 0.9 kafka brokers
# typically you would run each on a different server / process / CPU
 consumer1 = KafkaConsumer('my-topic',
                      group_id='my-group',
                      bootstrap_servers='my.server.com')
  consumer2 = KafkaConsumer('my-topic',
                      group_id='my-group',
                      bootstrap_servers='my.server.com')

Означает ли это, что я могу создать отдельного потребителя для каждого создаваемого мной процесса? Кроме того, будут ли перекрываться сообщения, потребляемые потребителем1 и потребителем2?

Спасибо


person red_devil    schedule 24.05.2016    source источник


Ответы (1)


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

person Matthias J. Sax    schedule 25.05.2016