我有一個包含2個分區的「主題」。如何將特定卡夫卡用戶分配到特定分區
topic-0
topic-1
我有2個輸入消息通道
input0
input1
與同一目的地 「主題」 和相同的基團。
我的理解是,由於它是同一個組,每個主題都會自動分配一個分區。
是否可以將特定分區分配給特定的消息通道?
我有一個包含2個分區的「主題」。如何將特定卡夫卡用戶分配到特定分區
topic-0
topic-1
我有2個輸入消息通道
input0
input1
與同一目的地 「主題」 和相同的基團。
我的理解是,由於它是同一個組,每個主題都會自動分配一個分區。
是否可以將特定分區分配給特定的消息通道?
您可以將特定分區分配給卡夫卡消費者,同時禁用消費者的auto-rebalance
以及相應的instanceCount
和instanceIndex
屬性。
例如,在你的情況下,
--spring.cloud.stream.bindings.input0.consumer.instanceCount=2 --spring.cloud.stream.bindings.input1.consumer.instanceCount=2 --spring.cloud.stream.bindings.input0.consumer.instanceIndex=0 --spring.cloud.stream.bindings.input1.consumer.instanceIndex=1 --spring.cloud.stream.bindings.input0.group=mygroup --spring.cloud.stream.bindings.input1.group=mygroup --spring.cloud.stream.kafka.bindings.input0.consumer.autoRebalanceEnabled=false --spring.cloud.stream.kafka.bindings.input1.consumer.autoRebalanceEnabled=false --spring.cloud.stream.bindings.input0.destination=topic --spring.cloud.stream.bindings.input1.destination=topic
上述配置將分配主題的分區爲每個消費者(綁定輸入信道時)的基礎上使用partition
,instanceCount
和instanceIndex
值模。