SpringCloud 配置用于分區(qū)的輸入綁定

2023-11-28 15:51 更新

通過設置應用程序本身的partitioned屬性以及應用程序本身的instanceIndexinstanceCount屬性,將輸入綁定(通道名稱為input)配置為接收分區(qū)數(shù)據(jù)。下面的例子:

spring.cloud.stream.bindings.input.consumer.partitioned=true
spring.cloud.stream.instanceIndex=3
spring.cloud.stream.instanceCount=5

instanceCount值表示應在其之間分區(qū)數(shù)據(jù)的應用程序實例的總數(shù)。instanceIndex在多個實例中必須是唯一的值,其值應介于0instanceCount - 1之間。實例索引可幫助每個應用程序實例識別從中接收數(shù)據(jù)的唯一分區(qū)。活頁夾要求使用不支持本地分區(qū)的技術。例如,對于RabbitMQ,每個分區(qū)都有一個隊列,該隊列名稱包含實例索引。對于Kafka,如果autoRebalanceEnabledtrue(默認值),則Kafka負責在實例之間分配分區(qū),并且不需要這些屬性。如果autoRebalanceEnabled設置為false,則綁定器將使用instanceCountinstanceIndex來確定實例所預訂的分區(qū)(您必須擁有與實例數(shù)量一樣多的分區(qū)) 。活頁夾分配分區(qū)而不是Kafka。如果您希望特定分區(qū)的消息始終發(fā)送到同一實例,這可能很有用。當活頁夾配置需要它們時,重要的是正確設置兩個值,以確保使用所有數(shù)據(jù),并且應用程序實例接收互斥的數(shù)據(jù)集。

盡管在單獨情況下使用多個實例進行分區(qū)數(shù)據(jù)處理可能會很復雜,但Spring Cloud Dataflow可以通過正確填充輸入和輸出值并讓您依賴運行時來顯著簡化流程基礎架構,以提供有關實例索引和實例計數(shù)的信息。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號