2014-02-25 3 views
2

을 소비하는 방법을 얻을 해달라고 .. [1] : https://github.com/mumrah/kafka-python카프카와 파이썬 - 나는 워드 프로세서

# To send messages asynchronously 
producer = SimpleProducer(kafka, async=True) 
producer.send_messages("my-topic", "async message") 

# To consume messages 
consumer = SimpleConsumer(kafka, "my-group", "my-topic") 
for message in consumer: 
    print(message) 

"내 그룹"어디에서 왔는가? "내 그룹"을 어떻게 설정합니까?

답변

3

docstringSimpleConsumer으로, group은 "이 소비자의 이름으로 오프셋 저장에 사용되며 고유해야합니다"입니다.

그래서 소비자에게주는 고유 한 이름입니다.

2

그룹은 kafka에서 동일한 주제에서 읽는 여러 소비자를 조정하는 데 사용됩니다. 여러 소비자가 동일한 그룹 이름을 사용하는 경우 kafka는 소비자 부하를 공유하려고하며 각 메시지는 그룹 구성원 중 하나에게만 전달됩니다.

그룹을 원한다는 것을 모르는 경우에는 그렇지 않을 수도 있습니다. kafka가 주제에 대해 사용 가능한 모든 메시지를 사용자에게 전송할 수 있도록 이름이 고유한지 확인하십시오.

1

앞에서 설명한 것처럼 모든 메시지는 모든 소비자 그룹에 한 번만 전달되어야합니다. 자세한 내용은 http://kafka.apache.org/documentation.html#introduction을 확인하십시오.

kafka-python (0.9.3을 쓰면이 버전)의 마지막 버전이 나올 때까지 소비자 그룹은 SimpleConsumer를 사용하여 제대로 작동하지 않습니다.