【问题标题】:working with high-availability RabbitMQ server pair via WCF通过 WCF 使用高可用性 RabbitMQ 服务器对
【发布时间】:2012-10-18 04:57:02
【问题描述】:

我正在尝试找出通过 wcf 使用 rabbitmq 集群的最佳解决方案。

当前设置:

  1. 2 个 IIS Web 服务器(充当消息生成器并通过 amqp wcf 客户端将消息发布到队列)。
  2. 2 个带有 rabbitmq 代理的服务器(与镜像队列、rabbit1 和 rabbit2 集群)
  3. 带有托管 amqp wcf 服务的 Windows 服务 (worker) 侦听传入消息。

Web 角色向rabbit1 节点发布消息,worker 也监听rabbit1 节点。如果 rabbit1 节点出现故障,系统(web 和 worker)应该切换到 rabbit2。这就是问题所在,如何以更优雅的方式实现这一点,而不是在应用程序代码中处理连接失败。

我现在看到的第一个也是唯一的方法是使用 wcf4 路由备份端点功能。这种方式只能解决客户端(Web 角色)的问题,但不能解决 wcf 服务端(工作者角色)的问题。

【问题讨论】:

    标签: wcf message-queue rabbitmq high-availability failover


    【解决方案1】:

    一种方法是围绕您的服务主机创建一个包装器,用于存储连接字符串列表(可以来自配置)。

    向服务故障事件添加处理程序,您可以在其中使用不同的连接字符串关闭和重新打开主机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多