2010-01-26 61 views
4

在未使用MSMQ之前,我並不清楚使用它的客戶端環境要求。使用MSMQ的消息傳遞系統(a MassTransit)的客戶要求?

我正在設計一個客戶端/服務器解決方案,它將與遺留系統集成,並通過消息傳遞出售。我想使用像MassTransit這樣的服務總線實現,但這需要MSMQ。

我必須確保每臺客戶端PC上都安裝了MSMQ嗎?

我不認爲我的這種銷售給看守前景的管理員密碼都非常好。

現在我可以可靠地期望每臺客戶端計算機都安裝了Windows XP Professional,但這可能會改變,我的理解是MSMQ默認情況下不會安裝在更新的操作系統上,這會更令人頭疼。

任何人都可以澄清這是如何工作的?我無法想象任何商業軟件如何依靠MSMQ,除非我錯過了一些重要的東西(我希望是我)。

(服務器是不是一個問題 - 我有完全的控制那裏。)

回答

2

要回答你的基本問題。是。每臺PC都必須運行MSMQ服務。我不認爲MSMQ是針對一般用戶類型的軟件,而是針對企業..服務器到服務器的通信。我當然可能是錯的,但是有了這個限制,你會問我是否看到它可以用於商業軟件。

+0

我想這就是爲什麼叫他們ESBs(企業服務總線)。它似乎更多地關注*系統集成*,而不是將客戶端PC *集成到系統中,儘管這種區別是可疑的。很好;謝謝。 – Jay 2010-01-28 15:59:46

5

的ESB(甚至像MassTransit或NServiceBus輕量級選項)真的不適合客戶機/服務器通信。如果您有一個需要與後端服務通信的胖客戶端應用程序,建立客戶端與之通信的SOAP和/或REST層可能更爲明智。在服務層後面,您可以根據您的縮放需求在內部使用消息傳遞。消息傳遞對於處理高度動態負載以及其他技術(如緩存)非常有用。

如果你想要做的客戶端上的消息,你可以考慮使用一個經紀人式短信系統(ActiveMQ的適應這裏,它是一個普通的TCP/IP連接),並從客戶端連接到它。這是一種做法,不一定取決於你的情況。 MassTransit可以使用ActiveMQ,允許您將MSMQ/ActiveMQ的編程API抽象爲更通用的傳輸接口。

設計分佈式系統時,你是否不需要客戶端到客戶端通信與客戶機到服務器的通信可以真正幫助區分不同的技術選擇有多種選擇。

相關問題