16.2. 配置代理连接
以下流程演示了如何配置代理连接来镜像代理之间的消息。在任何时候只能激活一个代理,所有消息都会被镜像到其他代理中。
先决条件
- 您有两个工作代理。
流程
在第一个
代理的 broker
元素,例如:.xml 文件中创建一个 broker
-connections<broker-connections> <amqp-connection uri="tcp://<hostname>:<port>" name="DC1"> <mirror/> </amqp-connection> </broker-connections>
<hostname>
- 其他代理实例的主机名。
<port>
- 由代理在其他主机上使用的端口。
第一个代理中的所有消息都将镜像到第二个代理,但创建镜像前存在的消息不会镜像(mirror)。
您还可以配置以下附加功能:
-
queue-removal
:指定是发送队列或地址-removal 事件。默认值为true
。 -
message-acknowledgements
:指定是否发送消息确认。默认值为true
。 -
queue-creation
:指定是发送队列或地址创建事件。默认值为true
。
注意示例中的代理连接名称
DC1
用于创建名为$ACTIVEMQ_ARTEMIS_MIRROR_mirror
的队列。确保对应的代理配置为接受这些消息,即使队列在该代理中不可见。在第二个
代理的 broker
元素,例如:.xml 文件中创建一个 broker
-connections<broker-connections> <amqp-connection uri="tcp://<hostname>:<port>" name="DC2"> <mirror/> </amqp-connection> </broker-connections>
注意红帽建议将消费者配置为接受来自其中一个代理(而不是两者)的消息。
- 使用 第 15.6 节 “在多站点、容错消息传递系统中配置客户端” 中记录的说明配置客户端,请注意,通过代理连接,没有共享存储。