spring-cloud-stream-kafka 配置:instanceCount & instanceIndex
spring-cloud-stream-kafka configuration: instanceCount & instanceIndex
运行 spring-boot 1.5.7.RELEASE
程序使用 spring-cloud Dalston.SR4
。
自己通过 cloud-stream documentation 工作,尤其是关于 kafka-binder 的使用,但在某些配置方面仍然不清楚:
当我们从 kafka 代理 消费 时,我们真的需要设置 spring.cloud.stream.{instanceCount,instanceIndex}
吗?鉴于 spring.cloud.stream.bindings.<channel>.group
已设置,我不明白为什么需要这样做。或者可以肯定地说这两个属性仅在设置 cloud.stream.kafka.bindings.<channel>.autoRebalanceEnabled
时才需要 false
?
设置cloud.stream.default.consumer.partitioned: true
对kafka消费者有什么好处吗?
奖金:spring.cloud.stream.kafka.binder.configuration.auto.offset.reset
和 spring.cloud.stream.kafka.bindings.<channelName>.consumer.startOffset
有什么区别?只是在后面配置每个通道的偏移重置吗?无论如何,这两个都没有被拾取,并且 auto.offset.reset
值在启动期间仍然报告为 earliest
.
正确;只有在使用手动分区分配时才需要它。
不是真的在消费者方面;但在生产者方面,例如,如果您需要严格排序 - 例如,如果您希望客户 "foo" 的所有 "orders" 进入同一分区;您还需要适当的分区配置。在消费者方面(对于 Kafka),它只会确保有一个 group
provisioned.
startOffset
是覆盖全局设置。这些属性的应用顺序有一些错误修复 example here。您使用的是什么版本?修复在 1.3.0 版本中;它也在 1.2.x 分支但尚未发布;我们需要 1.2.2.RELEASE 才能使用;如果你不能移动到 1.3,请为此打开一个 github 问题。
运行 spring-boot 1.5.7.RELEASE
程序使用 spring-cloud Dalston.SR4
。
自己通过 cloud-stream documentation 工作,尤其是关于 kafka-binder 的使用,但在某些配置方面仍然不清楚:
当我们从 kafka 代理 消费 时,我们真的需要设置
spring.cloud.stream.{instanceCount,instanceIndex}
吗?鉴于spring.cloud.stream.bindings.<channel>.group
已设置,我不明白为什么需要这样做。或者可以肯定地说这两个属性仅在设置cloud.stream.kafka.bindings.<channel>.autoRebalanceEnabled
时才需要false
?设置
cloud.stream.default.consumer.partitioned: true
对kafka消费者有什么好处吗?奖金:
spring.cloud.stream.kafka.binder.configuration.auto.offset.reset
和spring.cloud.stream.kafka.bindings.<channelName>.consumer.startOffset
有什么区别?只是在后面配置每个通道的偏移重置吗?无论如何,这两个都没有被拾取,并且auto.offset.reset
值在启动期间仍然报告为earliest
.
正确;只有在使用手动分区分配时才需要它。
不是真的在消费者方面;但在生产者方面,例如,如果您需要严格排序 - 例如,如果您希望客户 "foo" 的所有 "orders" 进入同一分区;您还需要适当的分区配置。在消费者方面(对于 Kafka),它只会确保有一个
group
provisioned.startOffset
是覆盖全局设置。这些属性的应用顺序有一些错误修复 example here。您使用的是什么版本?修复在 1.3.0 版本中;它也在 1.2.x 分支但尚未发布;我们需要 1.2.2.RELEASE 才能使用;如果你不能移动到 1.3,请为此打开一个 github 问题。