【发布时间】:2020-08-03 11:16:18
【问题描述】:
以下是我的用例场景,其中一个应用程序将数据推送到三个不同的 kafka 主题(有唯一的应用程序 id),输出将进入后续队列 4 和队列 5。我已经实现了如下所示的管道。
我面临的唯一问题是如何组合主题 5 中特定 app_id 的所有输出。应用程序推送多个请求,每个请求在此管道中都有唯一的 id。因此,对特定 app_id 的所有请求可能不是按顺序进行的。队列 5 中可能还有其他 app_id 数据。
在为主题 5 创建消费者时,我应该为每个 app_id 使用不同的 group_id 吗?
如果您有任何想法,请帮助我。我正在使用 kafka-python。
from kafka import KafkaConsumer, KafkaProducer
KAFKA = dict()
KAFKA['producer'] = KafkaProducer(bootstrap_servers=[server]))
for queue in ['queue 1', 'queue 2', 'queue 3', 'queue 4', 'queue 5']:
KAFKA['queue'] = KafkaConsumer(queue,
bootstrap_servers=[server],
auto_offset_reset='earliest', enable_auto_commit=True,
auto_commit_interval_ms=1000, group_id='group'+queue)
【问题讨论】: