无论如何,是否有一个仅在主要消费者出现故障时才使用的备用消费者?
如果我有同一个应用程序的两个实例并且该应用程序具有侦听“queue1”的侦听器,那么当前行为是如果一个消费者很忙,那么另一个消费者会获取数据并读取它。但我不想要那个。
我只需要 consumer1 可以读取队列,并且 consumer2 处于空闲状态,直到 consumer1 宕机。
我也尝试过独占,但它不能满足我的要求。
有人可以帮我解决这个问题。
无论如何,是否有一个仅在主要消费者出现故障时才使用的备用消费者?
如果我有同一个应用程序的两个实例并且该应用程序具有侦听“queue1”的侦听器,那么当前行为是如果一个消费者很忙,那么另一个消费者会获取数据并读取它。但我不想要那个。
我只需要 consumer1 可以读取队列,并且 consumer2 处于空闲状态,直到 consumer1 宕机。
我也尝试过独占,但它不能满足我的要求。
有人可以帮我解决这个问题。
RabbitMQ 团队监控邮件列表,rabbitmq-users
有时只在 StackOverflow 上回答问题。
这不是 RabbitMQ 和 Spring 框架的特性。您必须自己在消费者中实施故障转移。一种选择是“主”消费者将心跳消息发布到故障转移消费者可以读取的知名队列。如果故障转移消费者在特定时间段内没有从该队列接收到一定数量的心跳消息,它可以进行额外的检查以查看主消费者是否处于活动状态,如果没有,则接管该角色。
这只是一个建议 - 有很多方法可以实现这一点。