負載均衡集群是由一組相互獨立的計算機系統構成,通過常規網絡或專用網絡進行連接,由路由器銜接在一起,各節點相互協作、共同負載、均衡壓力,對客戶端來說,整個群集可以視為一臺具有超高性能的獨立服務器。
1、實現原理實現數據庫的負載均衡技術,首先要有一個可以控制連接數據庫的控制端。在這里,它截斷了數據庫和程序的直接連接,由所有的程序來訪問這個中間層,然后再由中間層來訪問數據庫。
這樣, 我們就可以具體控制訪問某個數據庫了,然后還可以根據數據庫的當前負載采取有效的均衡策略,來調整每次連接到哪個數據庫。
2、實現多據庫數據同步對于負載均衡,最重要的就是所有服務器的數據都是實時同步的。這是一個集群所必需的,因為,如果數不據實 時、不同步,那么用戶從一臺服務器讀出的數據,就有別于從另一臺服務器讀出的數據,這是不能允許的。所以必須實現數據庫的數據同步。
這樣,在查詢的時候就可以有多個資源,實現均衡。
比較常用的方法是Moebiusfor SQL Server集群,Moebius for SQL Server集群采用將核心程序駐留在每個機器的數據庫中的辦法,這個核心程序稱為Moebius for SQL Server中間件,主要作用是監測數據庫內數據的變化并將變化的數據同步到其他數據庫中。數據同步完成后客戶端才會得到響應,同步過程是并發完成的,所以同步到多個數據庫和同步到一個數據庫的時間基本相等;
另外同步的過程是在事務的環境下完成的,保證了多份數據在任何時刻數據的一致性。正因為 Moebius中間件宿主在數據庫中的創新,讓中間件不但能知道數據的變化,而且知道引起數據變化的SQL語句, 根據SQL語句的類型智能的采取不同的數據同步的策略以保證數據同步成本的最小化。數據條數很少,數據內容也不大,則直接同步數據。數據條數很少,但是里面包含大數據類型, 比如文本,二進制數據等,則先對數據進行壓縮然后再同步,從而減少網絡帶寬的占用和傳輸所用的時間。
數據條數很多,此時中間件會拿到造成數據變化的SQL語句, 然后對 SQL語句進行解析,分析其執行計劃和執行成本,并選擇是同步數據還是同步SQL語句到其他的數據庫中。
此種情況應用在對表結構進行調整或者批量更改數 據的時候非常有用。
3、優缺點優點:
1) 擴展性強:當系統要更高數據庫處理速度時,只要簡單地增加數據庫服務器就可以得到擴展。
2) 可維護性:當某節點發生故障時,系統會自動檢測故障并轉移故障節點的應用,保證數據庫的持續工作。
3) 安全性:因為數據會同步的多臺服務器上,可以實現數據集的冗余,通過多份數據來保證安全性。另外它成功地將數據庫放到了內網之中,更好地保護了數據庫的安全性。
4) 易用性:對應用來說完全透明,集群暴露出來的就是一個IP缺點:
a) 不能夠按照Web 服務器的處理能力分配負載。
b) 負載均衡器(控制端)故障,會導致整個數據庫系統癱瘓。