队列发送者如何知道消费者崩溃了?

时间:2012-10-27 19:38:58

标签: queue rabbitmq node-amqp

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

2 个答案:

答案 0 :(得分:2)

我认为您可能没有正确使用MQ概念。重点是将消费者与生产者脱节。总的来说,生产者的工作不是了解消费者的任何事情,除了他们将消费的消息类型。如果消费者崩溃并且消息将继续在它正在读取的队列中累积,那么生产者将继续生产。

答案 1 :(得分:1)

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