Rabbitmq只允许一个并发消费者

时间:2018-06-13 06:50:12

标签: java rabbitmq spring-framework-beans

是否有备用消费者仅在主要消费者停用时使用?

如果我有两个同一个应用程序的实例,那个应用程序有监听器,它会监听" queue1"那么当前的行为是,如果一个消费者忙,那么另一个消费者获取数据并读取它。但我不想要那个。

我只需要consumer1可以读取队列,而consumer2处于空闲状态,直到consumer1关闭。

我也尝试了排他性,但它并不符合我的要求。

有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

RabbitMQ团队监控the rabbitmq-users mailing list,有时只回答StackOverflow上的问题。

这不是RabbitMQ和Spring框架的功能。您必须自己在消费者中实施故障转移。一种选择是“主”消费者将心跳消息发布到故障转移消费者可以读取的众所周知的队列。如果故障转移使用者在特定时间段内未从此队列收到一定数量的心跳消息,则可以执行其他检查以查看主使用者是否处于活动状态,如果不是,则接管该角色。

这只是一个建议 - 有很多方法可以实现这一点。