RabbitMQ爲我正在計劃的項目打勾,保存一個。我會讓不同的工作人員在隊列中進行監聽,並且他們首先處理最新的消息(即最新的序列號)(LIFO)是很重要的。RabbitMQ重排消息
我的應用程序是這樣的新消息幾乎過時的舊信息。如果你有工作人員,你仍然可以處理舊信息,但重要的是先做好新信息。
拖網各種論壇和這樣我只能看到一個解決方案,這是對客戶端來處理消息時,它應該首先之後:
- 消耗所有消息他們根據
- 再定購序列號
- 重新提交給隊列
- 消耗所述第一消息
醜陋和PROBL如果客戶中途死亡,則爲ematic。但是,這裏的mabye有一個更好的解決方案。
我的研究是基於(部分):
- http://groups.google.com/group/rabbitmq-discuss/browse_thread/thread/e79e77d86bc7a3b8?fwc=1
- http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2010-July/007934.html
- http://groups.google.com/group/rabbitmq-discuss/browse_thread/thread/e40d1069dcebe2cc
- http://old.nabble.com/Priority-Queue-implementation-and-performance-td29946348.html
注:消息的預期流量將大約在一些隊列的1msg /小時和100 /分鐘的範圍其他人。所以沒有什麼恆星。
感謝您的回覆。但是,我不希望一個消費者捱餓其他人的工作。我寧願讓其他消費者使用稍微不太新的消息(它們仍然提供一些信息),而不是讓消費者X空閒隊列,而讓它們閒置。雖然這也取決於我猜測的消息速率。 – dgorissen 2011-03-09 10:27:44