消费者团体
虽然发布-订阅模式便于通过共享主题连接应用程序,但通过创建多个应用程序实例来扩展的能力同样重要。在此过程中,应用程序的不同实例被置于竞争的消费者关系中,只有一个实例被期望处理给定消息。
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 会将应用分配给一个匿名且独立的单成员消费者组,该组与所有其他消费者组处于发布-订阅关系。