此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4! |
消费组
虽然发布-订阅模型可以轻松地通过共享主题连接应用程序,但通过创建给定应用程序的多个实例进行扩展的能力同样重要。 执行此操作时,应用程序的不同实例将置于竞争使用者关系中,其中只有一个实例需要处理给定的消息。
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 会将应用程序分配给一个匿名且独立的单成员使用者组,该使用者组与所有其他使用者组处于发布-订阅关系中。