C/S系統開發架構 - WebService架構負載平衡技術(Load Balancing)
C#.NET C/S系統開發架構, WebService架構負載平衡,Loading Balancing
WebService架構的系統受制於IIS伺服器的效能, 當大量使用者並發時容易導致IIS伺服器死機,為解決這個普遍存在的問題我們可以引入負載平衡技術。負載平衡可以自動分配用戶端的請求訪問不同的伺服器,因此分流了單個IIS伺服器的壓力,當其中一台伺服器死機或網路故障也不影響使用者的操作, 由LoadBalancing控製程序自動搜尋可用的Web伺服器重新尋找或提交資料。
伺服器死機或網路故障處理機制:
用戶端調用某個Web方法時探索服務器故障,程式自動調用其他伺服器的Web方法。
負載平衡(Load Balancing)架構圖:
以下情況可以使用負載平衡:
1. 伺服器死機導致用戶端無法連線,程式自動連接到其它伺服器。
2. 伺服器在高負荷運轉下,服務端反饋訊息給用戶端要求串連到其他伺服器,因為I’m Busy!
3. 用戶端調用某個Web方法時探索服務器故障,程式自動調用其他伺服器的Web方法。
4. 指定某些地區的使用者串連到指定的Web伺服器。
實現思路:
1. 用戶端設定檔,用於配置負載平衡Web伺服器。主要參數為:伺服器名稱和多個WebService地址。
2. 負載平衡管理器,設計一個公用類用於自動尋找通訊正常的伺服器。
3. 異常處理機制,如用戶端調用某個Web方法時探索服務器故障,程式自動調用其他伺服器的Web方法。
4. WebService工廠,用於建立WebService 用戶端執行個體。
CS系統架構 - 負載平衡(Load Balancing)源碼下載
http://www.csframework.com/archive/5/arc-5-20110604-1514.htm
CS系統架構 - 負載平衡技術詳解(Load Balancing) (二)
http://www.csframework.com/archive/5/arc-5-20110604-1513.htm