2013-12-16 190 views
0

在我們的項目中,我們有許多程序可以在計算機內部和內部網絡上相互通信。爲了解決這個問題,我們今天使用COM/DCOM。我們認爲,但是,DCOM太複雜了。如何爲每個Windows版本配置安全設置更改。通過網絡在應用程序之間進行通信

我們因此尋找一種協議,它使我們的通信不同的程序之間在不同的Windows計算機和誰不擁有儘可能多的開銷DCOM。

的程序是用C++/MFC和系統中的小型局域網絡與其他網絡完全分開上運行的C#

安全性就不那麼重要了。

+1

http://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx –

回答

4

如果你需要保證的消息傳遞和支持的交易 - 最好的選擇將使用任何通訊子系統。如果您完全確定您的所有系統都將在Windows機器上運行 - MSMQ是您的選擇。它可以從Windows組件安裝中輕鬆安裝。 如果您希望某些節點能夠在其他操作系統上工作 - 潛藏更多關於RabbitMQ的信息。 可以使用各種消息子系統,即IBM MQ或Tibco消息傳遞。

正如上面所提到的 - 我會同意,MassTransit可能是與MSMQ的工作一個很好的選擇,但需要一些初步的學習和建築方案要遵循。開源並可免費使用。 NServiceBus是相同的野獸,可能更精美,但它不是免費使用。非常昂貴,因爲我。

如果你決定使用RabbitMQ的,看看EasyNetQ包裝。

不過,如果你並不需要在應用程序之間有保證的交付 - 爲什麼不使用MVC4使用REST服務。設置起來要快得多,您可以輕鬆地支持其他平臺客戶端,如iOS或Android設備。

2

爲什麼不使用NServiceBus或MassTransit? 他們都可以使用MSMQ作爲傳輸(這在任何版本的Windows上都很容易啓用)。

有了這樣的工具(或與MSMQ的頂部自己的包裝),你就可以通過發送消息和訂閱信息,使您的系統組件很好地分離自然溝通。

或者,您可以使用諸如RabbitMQ(甚至是ZeroMQ,如果您的目標是高端性能),它們都具有幾乎所有流行編程語言的綁定,因此您的系統可能會使用不同語言編寫組件OS。

絕對看看ZeroMQ反正當你考慮選擇:)

相關問題