【发布时间】:2023-02-20 18:12:50
【问题描述】:
我有一个消费者应用程序,我想加快速度。大部分时间消费者都在等待来自第三方系统的 http 响应,因此我无法继续处理队列中的其他消息并且延迟增加。在这种情况下,提高性能的推荐方法是什么。我的想法:
- 在不同的线程上创建多个消费者
- 消费一批消息,运行 Parallel.ForEach 处理它们然后提交。但是,如果批处理中的一条消息在处理过程中失败了怎么办?
【问题讨论】:
-
您目前使用多少消费者?您的主题设置了多少个分区?你可以增加消费者的数量,是的。但是,如果您在上游遇到性能问题,您也需要在那里解决。在提高消费者性能方面,这取决于您关注的衡量指标是吞吐量还是延迟?
-
不同实例上的 16 个分区和 2 个消费者。我看到我的实例资源没有得到充分利用,因为我只是在等待 http 响应。我专注于更高的吞吐量。
标签: .net apache-kafka confluent-kafka-dotnet