【发布时间】:2012-06-19 13:12:24
【问题描述】:
我刚刚创建了一个 API,其中来自 API 的请求使用请求/响应模式通过 MassTransit/RabbitMQ 转发到后端服务。我们现在正在考虑将其推向生产环境,并希望在不同的服务上运行应用程序的多个实例(API 和服务),并通过负载均衡器在它们之间分配请求。
如果其中一台服务器因任何原因从池中取出,我们可能会丢失所有消息。我正在考虑在服务器之间创建一个 RabbitMQ 集群(每个服务器都有一个本地安装),并且想知道在这种情况下我将如何设置竞争消费者。
RabbitMQ 或 MassTransit 是否会处理此问题,以便只有一个消费者会收到请求,还是所有消费者都会收到并尝试响应?另外,使用 RabbitMQ 集群,MassTransit/RabbitMQ 将如何处理节点故障?
【问题讨论】:
标签: c# load-balancing rabbitmq high-availability masstransit