use*_*392 6 apache-camel apache-kafka
Apache Camel Kafka Consumer提供了称为“ consumerStreams”和“ consumersCount”的URI选项。
需要了解差异和使用场景,以及如何适应多分区Kafka主题消息的使用
consumerCount控制骆驼端点创建了多少消费者实例。因此,如果您的主题中有 3 个分区并且您的 consumerCount 为 3,那么您可以一次使用 3 条消息(每个分区 1 条)。此设置完全符合您对文档的期望
consumerStreams 是一个完全不同的设置,恕我直言,一个误导性的名字和一个误导性的文档。
消费者流:消费者上的并发消费者数
但源代码揭示了它的真正目的:
consumerStreams配置可供所有消费者运行的线程数。在内部,Kafka 端点为每个消费者创建一个 Runnable。( consumerCount = 3) 表示 3 个 Runnable。这些 runnable 由一个ThreadPoolExecutorService按consumerStreams设置缩放的an 执行。
由于单个消费者线程是长时间运行的任务,因此唯一的目的consumerStreams是处理重新连接或阻塞的线程。较高的值consumerStreams不会导致更多的并行化。它最好被命名consumerThreadPoolSize或类似的东西。