【发布时间】:2021-02-18 16:26:19
【问题描述】:
我正在尝试从最早的偏移量读取 kafka 主题,然后通过 python 脚本墓碑某些记录。由于消息数量巨大(百万+),我想利用多处理来使脚本在使用消息时更快。这是脚本中的一个 sn-p:
from kafka import KafkaConsumer
def cleanup_kafka_topic(self, env):
# Declarations
consumer = KafkaConsumer(<topic_name>, group_id=<some_group>),
bootstrap_servers=[<kafka_host:kafka_port>],
auto_offset_reset='earliest', enable_auto_commit=True)
# Clean-up logic
for msg in consumer:
# Do something with the msg
我正在使用 Kafka-python。
【问题讨论】:
-
因为这是一种I/O操作,我认为多线程比多处理更适合这种情况,你可以使用
concurrent.futures模块进行测试 -
如果你想要多个异步消费者,你可以使用 aiokafka
标签: python multithreading apache-kafka multiprocess kafka-python