2012-10-27 32 views
3

我正在使用node-amqp。對於每個隊列,都有一個發件人和一個消費者。在發件人方面,我需要維護一個活躍消費者的列表。問題是消費者電腦何時崩潰,我將如何收到通知並將其從發件人列表中刪除?隊列發送者如何知道消費者崩潰?

回答

2

我想你可能沒有正確使用MQ概念。整個觀點是將消費者與生產者分開。總的來說,除了消費者的消息類型之外,生產者不需要了解消費者的任何信息。如果消費者崩潰並且消息將繼續積聚在隊列中,那麼製片人將繼續製作。

1

有一種方法使用的RabbitMQ的HTTP API來做到這一點(在http:// 服務器名稱:55672/API /)來獲取連接列表,但實在是太殘酷了頻繁的查詢。理論上另一種方法是使用備用交換機來檢測未傳送的消息,但我還沒有嘗試過這種方式。 另外,通過使用如下所述的死信交換來檢測意外的消費者斷開可能是可能的:http://www.rabbitmq.com/dlx.html

相關問題