|
这个版本仍在开发中,尚未达到稳定状态。要使用最新稳定版,请使用 spring-cloud-stream 5.0.1 ! |
消费者组
虽然发布-订阅模型通过共享主题使连接应用程序变得容易,但通过创建给定应用程序的多个实例来扩展的能力也同样重要。 当这样做时,应用程序的不同实例被置于竞争消费者关系中,其中一个实例期望处理给定消息。
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 将应用程序分配到一个匿名且独立的单成员消费者组,该组与所有其他消费者组处于发布-订阅关系。