在RabbitMQ联合设置中,一旦网络恢复,下游服务器是否会接收在上游服务器上发布的消息?

时间:2016-09-04 03:13:03

标签: rabbitmq

我开始使用RabbitMQ,如果这是一个基本问题,请原谅我。

我在两台服务器之间建立了联盟。当网络正常时,一切都很好,当我们向上游服务器发布消息时,下游会收到消息。

我的问题是,当下游服务器关闭并且消息在上游服务器上发布时会发生什么?下游服务器在重新启动或网络恢复后是否会收到该消息?

谢谢!

1 个答案:

答案 0 :(得分:0)

已经过了一年多,我相信你现在已经得到了答案。但只是为了向其他碰巧访问这个问题的人澄清,这就是答案

Exchange联合使用来自上游群集的消息,并在其自己的本地交换上重新发布,就好像在上游群集上发布的消息已在本地群集上发布一样。

可以使用交换联合的情况是,当多个区域中存在群集时,您希望将所有消息收集到中央群集,消费者可以在其中处理这些消息。联盟充当智能铲,因此它将在上游集群上创建一个队列,将其绑定到您联合的交换,然后从该队列中消费并在本地交换机上重新发布它们。

如果连接断开,消息将在上游队列中排队,当服务器再次重新连接时,它将传输在网络中断期间发布的所有消息。