Ara*_*syh 5 python synchronous apache-kafka kafka-python
我将在我的应用程序中使用 Kafka 作为消息代理。此应用程序完全使用 Python 编写。对于此应用程序的一部分(登录和身份验证),我需要实现一个请求-回复消息传递系统。换句话说,生产者需要同步地从消费者那里得到生产消息的响应。使用 Kafka 及其 Python 库 (kafka-python, ...) 是否可行?
小智 1
我面临着同样的问题(在我的例子中,HTTP命中的请求回复)我的第一个赌注是(100% python):
如果它适用于基本测试,不幸的是,创建 KafkaConsumer 对象是一个缓慢的过程(约 300 毫秒),因此对于大流量的系统来说,它不是一个选择。此外,如果您的系统处理并行请求-回复(例如,像Web服务器一样的多线程),您将需要创建一个专用于request_id的KafkaConsumer(基本上通过使用request_id作为consumer_group)以避免回复线程 A 发布的请求被线程 B 消耗(并忽略)。所以你不能在这里回收你的 KafkaConsumer 并且必须支付每个请求的创建时间(除了后端的处理时间)。如果您的请求-回复处理不可并行化,您可以尝试保持 KafkaConsuser 对象可用于开始获取答案的线程
目前我能看到的唯一解决方案是使用数据库(关系型/noSQL):
但我不喜欢轮询......它会在大流量系统中对数据库产生沉重的负载
我的2CTS
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |