2017-10-13 110 views
0

運行spring-boot 1.5.7.RELEASE程序使用spring-cloud Dalston.SR4。 曾爲自己通過雲流documentation,特別是關於卡夫卡粘合劑的使用,但我仍不清楚在一些配置方面:spring-cloud-stream-kafka配置:instanceCount&instanceIndex

  1. 難道我們真的需要設置spring.cloud.stream.{instanceCount,instanceIndex}當我們從卡夫卡經紀人消耗?我不明白爲什麼會這麼做,因爲設置了spring.cloud.stream.bindings.<channel>.group。或者可以肯定地說,如果cloud.stream.kafka.bindings.<channel>.autoRebalanceEnabled設置爲false,那麼僅需要這2個屬性?

  2. 對kafka消費者設置cloud.stream.default.consumer.partitioned: true有什麼好處嗎?

  3. 獎勵:spring.cloud.stream.kafka.binder.configuration.auto.offset.resetspring.cloud.stream.kafka.bindings.<channelName>.consumer.startOffset有何區別?它只是後者配置每個通道的偏移復位?在任何情況下,這兩個都不會被拾取,並且auto.offset.reset值在啓動期間仍然報告爲earliest

回答

1
  1. 正確的;只有在使用手動分區分配時才需要。

  2. 不是真的在消費者方面;但在生產者方面,例如,如果您需要嚴格的訂購 - 例如,如果您希望客戶「foo」的所有「訂單」都轉到同一個分區,您還需要適當的分區配置。在消費者方面(對於Kafka),它只會確保配置了group

  3. startOffset是覆蓋全局設置。在這些屬性應用example here的順序中有一些錯誤修復。你使用什麼版本?該修復程序位於1.3.0版本中;它也在1.2.x的分支上,但還沒有發佈;我們需要1.2.2.RELEASE才能使用;如果你不能移動到1.3,請爲此打開一個github問題。

+0

我在'1.2.1.RELEASE'上,所以最簡單的路徑是移到1.3。感謝您的另一個質量答覆。 – laur