服务器群集解决方案
1.代理服務器維護客戶專用的應用服務器的表結構(此表規劃了負載平衡, 每一個客戶都有自己專用的應用服務器):
用戶編號, 用戶密碼, 應用服務器編號
?
2.代理服務器維護應用服務器的表結構:
應用服務器編號, 應用服務器名稱, 應用服務器IP地址(域名), 應用服務器端口號
?
3.代理服務器的IP地址和端口號必須對所有的客戶端進行公開. ?代理服務器必須有公網IP地址(域名). 各應用服務器也必須有公網IP地址(域名), 但只向代理服務器公開.
?
4.代理服務器提供所有客戶端調用的接口:
Function GetAppServer(const UserId, Password: string): string;
功能: 客戶端獲取自己專用的應用服務器IP地址和端口號
參數: UserId: string---客戶編號;Password: string---客戶密碼
返回: 字符串---應用服務器的IP地址(域名);應用服務器端口號(分號隔開)
?
5.客戶端斷開同代理服務器之間的連接, 建立同應用服務器之間的連接.
?
6.各應用服務器分別連接自己專用的數據庫服務器
?
7.各數據庫服務器之間必須保持數據同步. 比如通過數據庫復制的方式來進行.
?
8.如果是倆臺數據庫服務器的話, 可以考慮如此劃分: 一臺負責數據的查詢; 一臺負責數據的提交. SQL SERVER數據庫服務器進行讀寫分離的劃分是實現數據庫群集的唯一辦法.
一般來講,70%的數據庫操作為讀操作。在寫入數據庫上做一個發布服務器,主要基于SQL Server 的復制技術,將即將用到的表都選上。其次,在兩個讀服務器上做訂閱服務,
這樣一個“一寫兩讀”的數據庫集群就完成了。
?
9.整個服務器群集的一些容錯處理:首先, 使用多個中間層。從中間層的作用可以看出,它承接了數據庫的所有連接,所以,一旦出了問題,就會導致整個系統癱瘓。
所以做多個中間層是必要的,這樣,如果一個壞了可以登錄到另一個。
其次, 數據庫鏡像是SQL Server 2005大力推出的,它就是要實現數據庫的安全轉移,所以需要再單獨拿出一臺機器來做備份服務器,
將完全鏡像寫入該服務器,這樣,即使寫入服務器壞了,它也可以自動轉移到備份服務器上來,保證不影響用戶。
這實際上就相當于實現了對服務器的容災管理,但是有一點需要注意,在這種鏡像的體系中,必須要有一臺服務器作為監視服務器,
以便察看哪臺服務器壞了,用以在機器出錯之后迅速調整。
?
總結
- 上一篇: 内存管理一
- 下一篇: WPF中自定义窗体标题栏