【发布时间】:2020-12-03 13:34:08
【问题描述】:
我已经使用 python 创建了带有 Topic 的实现的 Kafka 生产者-消费者消息传递。我怎样才能对 Queue 做同样的事情,以便消息只会发送给单个消费者。
这是我的生产者代码
# Import KafkaProducer from Kafka library
from kafka import KafkaProducer
# Define server with port
bootstrap_servers = ['localhost:9092']
# Define topic name where the message will publish
topicName = 'First_Topic'
# Initialize producer variable
producer = KafkaProducer(bootstrap_servers = bootstrap_servers)
i=1
for i in range(100):
# Publish text in defined topic
message_data = input("Enter message ")
producer.send(topicName,str.encode(message_data) )
# Print message
print("Message Sent")
i=i+1
这是我的消费者代码。
from kafka import KafkaConsumer
consumer = KafkaConsumer(bootstrap_servers=['localhost:9092'], auto_offset_reset='earliest')
consumer.subscribe(['First_Topic'])
for msg in consumer:
print("Message from Producer on Topic - "+msg.topic+":"+ msg.value.decode())
【问题讨论】:
-
您的消费者代码看起来不错。有什么问题?
标签: python apache-kafka kafka-python