我使用node-amqp。对于每个队列,都有一个发送者和一个消费者。在发送方,我需要维护一个活动消费者列表。问题是,当消费者计算机崩溃时,我如何收到通知并将其从发送者端的列表中删除?
发布于 2012-10-28 15:06:15
我认为您可能没有正确使用MQ概念。关键是要切断消费者和生产者之间的联系。总体而言,除了消费者将消费的消息类型之外,生产者的工作不是了解消费者的任何信息。直到生产者将继续生产,如果消费者崩溃,消息将继续在它正在读取的队列中堆积。
发布于 2012-11-24 17:11:05
有一种方法可以通过使用RabbitMQ的HTTP API (位于http://:55672/api/)来获取连接列表,但是对于频繁的查询来说太残酷了。从理论上讲,另一种方法是使用备用交换来检测未送达的消息,但我还没有尝试过这种方式。此外,还可以通过使用死信交换来检测意外的消费者断开连接,如下所述:http://www.rabbitmq.com/dlx.html
https://stackoverflow.com/questions/13103524
复制相似问题