2011-10-06 32 views
0

我有一個後端系統,它將事件放入我的系統。這些事件不會丟失是非常重要的(我爲一家醫療保健公司工作,丟失的信息會影響病人的護理)。將NServiceBus與AIX主機連接

我想讓這個系統將它的數據放入NServiceBus,以便它可以發佈給需要它的訂戶。但是,放棄這些消息的服務器是AIX機器,因此無法運行.NET代碼。

該系統可以通過許多標準協議和通信類型(TCP,WSDL Based Services,Call A Database Sproc等)發送消息。

我考慮的一個選項是設置AIX大型機將調用的WCF服務。然後我可以讓我的WCF服務調用NServiceBus。

但是,此後端服務每分鐘發送的事件有時可能相當高(每分鐘大約500條消息)。我擔心WCF不能達到這個目標,而NService總線說它可以每秒處理1000條消息。我也擔心萬一發生停機時數據丟失。 NserviceBus聲稱它不會丟失任何數據。

我錯了嗎? WCF會好嗎?還是我在鏈條中建立一個薄弱環節?

有沒有一種方法可以使用已建立的協議將項目直接添加到NServiceBus隊列?

或者我應該寫我自己的.NET應用程序,它將允許NServiceBus使用TCP連接?

注意:由於這些消息是關鍵的,必須確認消息或服務器將繼續發送它。

回答

0

我會看看開箱即用的WCF集成。 WCF服務包含在與NSB相同的主機中。集成只不過是將消息推送到隊列中,所以我認爲你不會遇到吞吐量問題。看到這是關鍵數據,我會建議集羣服務。另一種選擇是在不同的計算機上安裝2個或更多服務實例,並在兩者之間平衡HTTP調用。實質上,您將有1個邏輯發佈器和2個物理組件進行發佈。