3

我正在使用节点-amqp。对于每个队列,有一个发送者和一个消费者。在发送方,我需要维护一个活跃消费者列表。问题是当消费者计算机崩溃时,我将如何获得通知并将其从发送方的列表中删除?

4

2 回答 2

2

我认为您可能没有正确使用 MQ 概念。关键是要断开消费者与生产者的联系。总的来说,生产者的工作不是了解消费者的任何信息,除了他们将消费的消息类型。如果消费者崩溃并且消息将继续在它正在读取的队列中建立,那么生产者将继续生产。

于 2012-10-28T07:06:15.343 回答
1

有一种方法可以通过使用 RabbitMQ 的 HTTP API(位于 http:// server-name :55672/api/ )来获取连接列表,但是对于频繁查询来说太残酷了。理论上另一种方法是使用备用交换来检测未传递的消息,但我还没有尝试过这种方式。此外,可以通过使用死信交换来检测意外的消费者断开连接,如下所述:http ://www.rabbitmq.com/dlx.html

于 2012-11-24T09:11:04.887 回答