2013-05-02 61 views
-1

我需要編寫一個非常簡單的windows服務,它可以允許外部應用程序在服務同時出隊的同時排隊項目。一個簡單的FIFO服務,我可以運行大約5個工作進程以退出。最好和最簡單的多線程排隊服務建議?

我一直在閱讀一些有關ConcurrentQueue的內容,並認爲這可能是我的最佳解決方案。它會是嗎?

+0

爲什麼要投票? – DDiVita 2013-05-02 20:27:36

+0

你的解決方案是什麼? – 2013-05-02 20:30:36

+3

我不知道反對票,但你能澄清一下:你在尋找一個進程內解決方案嗎?或者數據庫呢?或像msmq或任何其他隊列軟件的中間件?或者有十幾個nosql數據庫?有很多方法可以做到這一點,除非增加更多的上下文,否則沒有客觀的「更好」。例如,需要什麼級別的健壯性?如果員工離線,會發生什麼情況?數據是否保存?或者當員工離線時不能排隊?你想要多個工作流程嗎?等等? – 2013-05-02 20:30:52

回答

2

我建議你看一下消息總線,例如RabbitMQ。 RabbitMQ爲您提供了處理這些消息的安全方式。

一個很大的優點是,如果應用程序崩潰,消息仍然會持續存在。而且您也可以毫不費力地使用其他應用程序中的數據,或者在多臺計算機上運行多個應用程序以獲得最佳性能(和冗餘)。

你有幾個易於使用的例子here讓你開始。