属性 spring.cloud.stream.bindings.<channelName>.consumer.partitioned有什么用

what is the use of the property spring.cloud.stream.bindings.<channelName>.consumer.partitioned

如果 partitionCount (spring.cloud.stream.bindings..producer.partitionCount) 大于 1 且 consumer.partitioned (spring.cloud.stream.bindings..consumer.partitioned) 为 false 会发生什么(使用卡夫卡)

对于 Kafa 活页夹,属性 spring.cloud.stream.bindings..consumer.partitioned 不相关。您可以跳过在消费者端设置此 属性。此 属性 的默认值为 false。由于 Kafka 具有内置的分区支持,binder 将简单地委托给 Kafka broker,而 Kafka 决定从哪些分区中消费。如果您只有一个消费者,那么它将从所有分区中消费。如果您有多个消费者,Kafka 将重新平衡并在可用消费者之间拆分分区(假设 autoRebalanceEnabled 属性 保持 true 为默认值)。

如果您想在消费者上设置实例索引 ID(例如,如果您想 运行 特定平台上的应用程序或实现静态分区),您可以将 spring.cloud.stream.bindings..consumer.partitioned 设置为 true。在这种情况下,您需要向消费者提供实例索引或实例索引列表。但是,我认为这与您的用例无关。

这里的结果是您可以安全地忽略,spring.cloud.stream.bindings..consumer.partitioned 如果您使用的是 Kafka binder 并且启用了自动重新平衡,则在消费者端。

我们有一些基本的分区示例 here,您可能想看看。