消費者群組
雖然發布-訂閱模型可以輕鬆地透過共享主題連接應用程式,但透過建立給定應用程式的多個實例來擴展規模的能力也同樣重要。 這樣做時,應用程式的不同實例會被置於競爭消費者關係中,其中只有一個實例預期會處理給定的訊息。
Spring Cloud Stream 透過消費者群組的概念來模擬此行為。(Spring Cloud Stream 消費者群組與 Kafka 消費者群組相似並從中獲得啟發。)每個消費者綁定可以使用 spring.cloud.stream.bindings.<bindingName>.group
屬性來指定群組名稱。 對於下圖中顯示的消費者,此屬性將設定為 spring.cloud.stream.bindings.<bindingName>.group=hdfsWrite
或 spring.cloud.stream.bindings.<bindingName>.group=average
。

圖 1. Spring Cloud Stream 消費者群組
所有訂閱給定目標的群組都會收到已發布資料的副本,但每個群組中只有一個成員會從該目標收到給定的訊息。 預設情況下,如果未指定群組,Spring Cloud Stream 會將應用程式指派給匿名且獨立的單一成員消費者群組,該群組與所有其他消費者群組處於發布-訂閱關係中。