2009-05-01 119 views
2

C#2008企業服務總線是正確的解決方案嗎?

我開發了一個需要連接到Web服務器才能工作的應用程序。如果Web服務器脫機。該應用程序將不得不通知,以便使用該應用程序的用戶可以知道發生了什麼。

該應用程序將從我們客戶的網站從互聯網上下載。所以成千上萬的用戶可以擁有它。

我正在考慮ping每秒5秒的Web服務器。但是,使用100或1000的應用程序會使Web服務器超載。

有人告訴我有關ESB的問題。我正在考慮使用這種方式,而我並不完全確定。是要讓每個應用都訂閱ESB。如果Web服務器脫機,它會向所有應用程序發送消息。

但是,我知道ESB非常大且很複雜,也許這對我的問題是過度的。

我是否正確理解。

如果ESB不是正確的選擇,那麼我可以使用另一種設計模式嗎?

非常感謝

回答

2

這聽起來不當超出範圍的符合規範的ESB這個簡單的目的。爲什麼不讓客戶端計算機在定期訪問該網站時進行計算?不是一遍又一遍地ping通web服務器,在正常的活動過程中,他們需要訪問web服務器,如果他們得到錯誤響應,他們可以分解「web服務器關閉」代碼路徑。

2

ESB聽起來像是錯誤的解決方案。

兩種可能性浮現在腦海中:

(1)如果用戶不需要知道他們在實時處於離線狀態,推遲檢測,通常的錯誤處理,當你試圖訪問該服務器。 (2)如果您必須知道實時性,請在每個客戶端站點上使用小型代理,以便只有代理需要ping您的服務器,而不是每個桌面。