使用spring-cloud 1.5.7.RELEASE
运行spring-boot 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
是否有任何好处?
加分:spring.cloud.stream.kafka.binder.configuration.auto.offset.reset
和spring.cloud.stream.kafka.bindings.<channelName>.consumer.startOffset
之间的区别是什么?它只是后者配置每个通道的偏移重置?在任何情况下,这两个都不会被选中,并且auto.offset.reset
值在启动期间仍会报告为earliest
。
答案 0 :(得分:2)
正确;只有在使用手动分区分配时才需要它。
不是真的在消费者方面;但在生产者方面,例如,如果您需要严格的订购 - 例如,如果您希望客户“foo”的所有“订单”转到同一分区;您还需要适当的分区配置。在消费者方面(对于Kafka),它只会确保group
配置。
startOffset
将覆盖全局设置。应用这些属性的顺序中存在一些错误修复example here。你用的是什么版本?修复程序在1.3.0版本中;它也在1.2.x分支上,但尚未发布;我们需要1.2.2.RELEASE才能使用它;如果你不能转到1.3,请打开一个github问题。