RabbitMQ - 在发布者端管理故障转移的最佳实践

时间:2014-03-17 15:48:59

标签: rabbitmq

我想管理的主要方案是发布商连接未激活时。 无论是一秒还是群集都已关闭。

RabbitMQ(客户端)有哪些选项可以帮助我管理这种情况?

  1. 他能积累消息吗?
  2. 他可以管理重试吗?
  3. 问题的第二部分是关于管理故障转移本身。  我知道在某些数据库中我可以编写一个连接字符串,如下所示

       Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;
    

    如果操作失败,客户端会自动切换到同一操作中的另一个操作。

    1. 在发布商方面管理故障转移的最佳做法是什么? 我在我的环境中安装了Netflix / eureka,我可以获得下一个活动但是rabbitmq是否支持这种情况?

1 个答案:

答案 0 :(得分:0)

如果您使用JVM,则可以使用Lyra从群集/服务器中断中恢复,并在恢复完成后重试发布尝试(同时阻止)。

创建支持调用重试的可恢复连接:

Config config = new Config()
    .withRecoveryPolicy(RecoveryPolicies.recoverAlways())
    .withRetryPolicy(new RetryPolicy().withMaxAttempts(3)));
Connection c = Connections.create(new ConnectionOptions().withHost("localhost"), config);

有关详细信息/示例,请参阅Lyra主页。