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
: 指定是否发送队列或 address-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 节 “在多站点、容错消息传递系统中配置客户端” 中记录的说明配置客户端,请注意没有共享存储。