2011-05-10 57 views
5

我需要一個可靠的消息解決方案。它看起來像RabbitMQ將滿足我的應用程序的需求。但是,我的環境不適合在服務器上部署Erlang和Mnesia。這是一個企業環境,爲了獲得像這樣的「非標準」部分,這是一場繁瑣的繁文battle節。我寧願找到類似於RabbitMQ的可靠消息框架,但是建立在.NET上。將消息存儲在Oracle和/或SQL Server中將是一項獎勵。有那樣的事嗎?用於.NET中心店的RabbitMQ的替代品?

我知道NServiceBus,但我不認爲這是專注於像RabbitMQ一樣多的可靠消息。

+0

'我知道NServiceBus,但我不認爲這是專注於可靠的消息傳遞,就像RabbitMQ一樣'你是怎麼說的? – jgauffin 2011-05-10 12:57:18

+0

呃......我自己的(很可能有限的)瞭解NServiceBus。如果你想糾正我,就去做吧。也許我誤解了NServiceBus正在嘗試做什麼。 – RationalGeek 2011-05-10 12:59:48

回答

3

如何好老MSMQ?它是Windows服務器系統上的標準組件,具有WCF綁定...所以我想這正是你正在尋找的。雖然,afaik它有它自己的基於文件系統的消息存儲,並且不支持SQL Server或Oracle用於此目的。

+0

從我的理解來看,MSMQ是一種持久化消息的機制,但它沒有任何形式的消息發佈者和訂閱者之間的協調服務層或類似的東西。我不想自己寫所有的東西。但是如果我是,持久層很可能是MSMQ。 – RationalGeek 2011-05-10 13:10:34

+0

這就是微軟創建WCF的原因。 – 2011-05-10 13:16:14

+0

我將不得不研究使用WCF和MSMQ。謝謝(你的)信息。 – RationalGeek 2011-05-10 13:32:23

2

我會使用NServiceBus(您已經提到)或MassTransit - 都使用MSMQ。

兩者都專注於可靠的消息傳遞,並且已知可用於許多關鍵應用程序。

0

還有ActiveMQ。它更適合於Java,但是你可以在.NET中使用它,我有一個使用C#的大型ActiveMQ部署,但我打算將它轉換爲RabbitMQ。

+1

自供應商創建ZeroMQ以來,ActiveMQ不再被積極開發。對於室內使用,ZeroMQ是一個很好的解決方案,因爲不需要安裝任何服務器。實際上,您可能需要從服務器獲得的任何功能都可以使用ZeroMQ在您的應用程序中進行編程,因此您擁有極致的靈活性並且易於構建和支持。 – 2011-05-31 04:47:03

+0

@邁克爾狄龍感謝從未聽說過ZeroMQ。我得看看它。 – Kelly 2011-06-27 16:54:34