4.4. 为发布订阅消息传递配置地址
在发布订阅场景中,信息会发送到订阅地址的每个消费者。JMS 主题和 MQTT 订阅是发布订阅消息传递的两个示例。为确保与地址关联的队列以发布订阅方式接收消息,您可以在代理配置中为给定 address
元素定义 多播
路由类型。
当消息在带有 multicast
路由类型的地址上收到时,代理会将消息的副本路由到与地址关联的每个队列。为减少复制开销,每个队列仅发送对消息 的引用,而不是完整副本。
下图显示了发布订阅消息传递的示例。
图 4.3. 发布订阅消息传递
以下流程演示了如何为发布订阅消息传递配置地址。
流程
-
打开 &
lt;broker_instance_dir> /etc/broker.xml
配置文件。 向地址添加一个空的
multicast
配置元素。<configuration ...> <core ...> ... <address name="my.multicast.destination"> <multicast/> </address> </core> </configuration>
(可选)将一个或多个
queue
项添加到地址中,并在它们间环绕multicas
项。通常不需要这一步,因为代理会自动为客户端请求的每个订阅创建一个队列。<configuration ...> <core ...> ... <address name="my.multicast.destination"> <multicast> <queue name="client123.my.multicast.destination"/> <queue name="client456.my.multicast.destination"/> </multicast> </address> </core> </configuration>