此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4spring-doc.cn

Binder 抽象

Spring Cloud Stream 提供了一个 Binder 抽象,用于连接到外部中间件的物理目标。 本节提供有关 Binder SPI 背后的主要概念、其主要组件以及特定于实现的详细信息的信息。spring-doc.cn

生产者和消费者

下图显示了生产者和使用者的一般关系:spring-doc.cn

生产商 消费者
图 1.生产者和消费者

创建者是将消息发送到绑定目标的任何组件。 绑定目标可以绑定到具有该代理的实现的外部消息代理。 调用该方法时,第一个参数是代理中目标的名称,第二个参数是创建者将消息发送到的本地目标的实例,第三个参数包含要在为该绑定目标创建的适配器中使用的属性(如分区键表达式)。BinderbindProducer()spring-doc.cn

使用者是从绑定目标接收消息的任何组件。 与创建者一样,使用者可以绑定到外部消息代理。 调用方法时,第一个参数是目标名称,第二个参数提供使用者的逻辑组的名称。 由给定目标的使用者绑定表示的每个组都会收到生成者发送到该目标的每条消息的副本(即,它遵循正常的发布-订阅语义)。 如果有多个使用者实例绑定了相同的组名称,则消息将在这些使用者实例之间进行负载均衡,以便生产者发送的每条消息仅由每个组中的一个使用者实例使用(即,它遵循正常的排队语义)。bindConsumer()spring-doc.cn