在我的应用程序中使用AMQP(RabbitMQ)实现高可用性

在我的应用程序中使用AMQP(RabbitMQ)实现高可用性,rabbitmq,amqp,high-availability,Rabbitmq,Amqp,High Availability,我正在组装一个基于队列的分布式系统,所有这些都是标准的东西。我们使用最新版本的RabbitMQ来提供消息传递层 我有一些关于实现应用程序的高可用性的问题,实际上不是RabbitMQ,我无法通过阅读文档来回答这些问题。请提供一些建议,很可能是我对Rabbit/AMQP缺乏了解导致了问题: 问题:我有一个名为primary的消息生成器。只有一个消息生成器。有一个称为备份的辅助生产者,如果主生产者出现故障,它将接管主生产者 如何使用现有的RabbitMQ功能实现这一点 想法:使用独占队列,主队列将连接

我正在组装一个基于队列的分布式系统,所有这些都是标准的东西。我们使用最新版本的RabbitMQ来提供消息传递层

我有一些关于实现应用程序的高可用性的问题,实际上不是RabbitMQ,我无法通过阅读文档来回答这些问题。请提供一些建议,很可能是我对Rabbit/AMQP缺乏了解导致了问题:

问题:我有一个名为primary的消息生成器。只有一个消息生成器。有一个称为备份的辅助生产者,如果主生产者出现故障,它将接管主生产者

如何使用现有的RabbitMQ功能实现这一点

想法:使用独占队列,主队列将连接到该队列。备份将尝试连接到此队列。当主进程失败时,备份将获得与队列的连接,并建立对进程的控制

我应该使用什么样的正确模式来实现这一点?我找不到任何关于竞争对手等的文档,非常感谢您的建议!其他人是如何做到这一点的

问候
TM

如果你想一次只拥有一个制作人,除非你能得到一些插件,否则用RabbitMQ机制是买不起的,但我不知道这种类型。您可以在应用程序级别获得对生产者编号的控制

附言:

看起来你们并没有很好地理解AMQP的思想,制作人将消息发布到交易所,同时使用从队列中获取消息。代理RabbitMQ将消息从exchange路由到一个或多个队列事实上是这样,但这是另一回事