標籤:
對長期開發.net的Programmer來說,MSSQLServer是再熟悉不過的,對於大訪問量來說,Microsoft本身一直沒有提出很好的解決辦法,我們通常都依賴於第三方的解決方案(該方案是付費的):Moebius( For SQL),這個東西做的還是比較專業的,可以實現資料庫的負載平衡,讀寫分離,雙機備用,災備,叢集的同步也可以有即時同步和准即時同步等。
Moebius概念
資料庫叢集技術可以有效地整合和利用現有 IT 資源,提供高效、可靠的資料服務。Moebius® for SQL Server 是格瑞趨勢專門針對 Microsoft SQL Server 資料庫提供的綜合叢集平台,利用這一平台,任何企業都能夠輕鬆地構建出適合自身業務的資料庫叢集,滿足使用者對負載平衡、可用性、資料安全、擴充性的需要。 Moebius® for SQL Server 基於 SQL Server 的核心實現,核心程式宿主在SQL Server 的核心之中, Moebius 叢集強大的 SQL 解析引擎結合多種負載平衡策略,可以實現SQL 陳述式一級的負載平衡;同時將自動故障監測、虛擬 IP 及失敗轉移技術融入其中,滿足企業對高可用系統建設的要求;資料複製時,採用了同步和非同步兩種複製模式,可實現資料在多台伺服器間即時同步,保證事務的一致性和完整性,支援遠距離複製; Moebius 叢集具有頻寬佔用少、同步效率高、資料即時性高、資料一致性保障好的特點。
Moebius叢集的組成
Moebius 叢集平台軟體由 3 部分組成:Moebius 叢集組態管理員、Moebius for SQL Server Agent, Moebius Core
Moebius的叢集架構圖
當VIP所在伺服器出現問題後,VIP會通過仲裁檔案自動進行漂移
架構原理
負載平衡叢集是由一組相互獨立的電腦系統構成,通過常規網路或專用網路進行串連,由路由器銜接在一起,各節點相互協作、共同負載、均衡壓力,對用戶端來說,整個群集可以視為一台具有超高效能的獨立伺服器。
1、實現原理
實現資料庫的負載平衡技術,首先要有一個可以控制串連資料庫的控制端。在這裡,它截斷了資料庫和程式的直接連接,由所有的程式來訪問這個中介層,然後再由中介層來訪問資料庫。這樣,我們就可以具體控制訪問某個資料庫了,然後還可以根據資料庫的當前負載採取有效均衡策略,來調整每次串連到哪個資料庫。
2、實現多據庫資料同步
對於負載平衡,最重要的就是所有伺服器的資料都是即時同步的。這是一個叢集所必需的,因為,如果數不據即時、不同步,那麼使用者從一台伺服器讀出的資料,就有別於從另一台伺服器讀出的資料,這是不能允許的。所以必須實現資料庫的資料同步。這樣,在查詢的時候就可以有多個資源,實現均衡。比較常用的方法是Moebius for SQL Server叢集,Moebius for SQL Server叢集採用將核心程式駐留在每個機器的資料庫中的辦法,這個核心程式稱為Moebius for SQL Server 中介軟體,主要作用是監測資料庫內資料的變化並將變化的資料同步到其他資料庫中。資料同步完成後用戶端才會得到響應,同步過程是並發完成的,所以同步到多個資料庫和同步到一個資料庫的時間基本相等;另外同步的過程是在事務的環境下完成的,保證了多份資料在任何時刻資料的一致性。正因為Moebius 中介軟體宿主在資料庫中的創新,讓中介軟體不但能知道資料的變化,而且知道引起資料變化的SQL語句,根據SQL語句的類型智能的採取不同的資料同步的策略以保證資料同步成本的最小化。
3、優缺點
優點:
(1) 擴充性強:當系統要更高資料庫處理速度時,只要簡單地增加資料庫伺服器就 可以得到擴充。
(2) 可維護性:當某節點發生故障時,系統會自動檢測故障並轉移故障節點的應用,保證資料庫的持續工作。
(3) 安全性:因為資料會同步的多台伺服器上,可以實現資料集的冗餘,通過多份資料來保證安全性。
另外它成功地將資料庫放到了內網之中,更好地保護了資料庫的安全性。
(4) 易用性:對應用來說完全透明,叢集暴露出來的就是一個IP
缺點:
(1) 不能夠按照Web伺服器的處理能力分配負載。
(2) 負載平衡器(控制端)故障,會導致整個資料庫系統癱瘓。
二、安裝與配置
Moebius的安裝非常簡便,在裝有SQL Server引擎的伺服器上直接點擊安裝包進行安裝,安裝過程中一直下一步即可(如)。
配置環境如所示:
三、測試結果
通過對Moebius的簡單測試來看,Moebius的確實現了對SQL Server的負載平衡、高可用以及保證資料的安全。
對於國內能夠有公司實作類別似Oracle RAC這樣的負載平衡方案還是非常優秀的,由於環境有限,未能在複雜的環境
下進行測試,如果能夠在大資料的環境以及多機的叢集環境下還能夠穩定運行,那應該算是不錯的解決方案了。
附上Moebius詳細文檔串連,有需要的可以參考:
http://wenku.baidu.com/view/383b2f83b9d528ea81c7797d.html?re=view
MSSQL 負載平衡(Moebius)