Moebius for SQLServer负载均衡
搞數(shù)據(jù)庫的都知道:在Oracle上有RAC集群,MySQL也有對應(yīng)的方案,而SQL Server上直到SQL Server 2012版本的AlwaysOn到來,微軟都沒有提供一個(gè)負(fù)載均衡方案,在網(wǎng)上看到Moebius可以實(shí)現(xiàn)負(fù)載均衡,在此將相關(guān)實(shí)現(xiàn)過程分享給大家:
 一、架構(gòu)原理
 
負(fù)載均衡集群是由一組相互獨(dú)立的計(jì)算機(jī)系統(tǒng)構(gòu)成,通過常規(guī)網(wǎng)絡(luò)或?qū)S镁W(wǎng)絡(luò)進(jìn)行連接,由路由器銜接在一起,各節(jié)點(diǎn)相互協(xié)作、共同負(fù)載、均衡壓力,對客戶端來說,整個(gè)群集可以視為一臺(tái)具有超高性能的獨(dú)立服務(wù)器。
1、實(shí)現(xiàn)原理
 實(shí)現(xiàn)數(shù)據(jù)庫的負(fù)載均衡技術(shù),首先要有一個(gè)可以控制連接數(shù)據(jù)庫的控制端。在這里,它截?cái)嗔藬?shù)據(jù)庫和程序的直接連接,由所有的程序來訪問這個(gè)中間層,然后再由中間層來訪問數(shù)據(jù)庫。這樣,我們就可以具體控制訪問某個(gè)數(shù)據(jù)庫了,然后還可以根據(jù)數(shù)據(jù)庫的當(dāng)前負(fù)載采取有效的均衡策略,來調(diào)整每次連接到哪個(gè)數(shù)據(jù)庫。
 
 2、實(shí)現(xiàn)多據(jù)庫數(shù)據(jù)同步
 對于負(fù)載均衡,最重要的就是所有服務(wù)器的數(shù)據(jù)都是實(shí)時(shí)同步的。這是一個(gè)集群所必需的,因?yàn)?#xff0c;如果數(shù)不據(jù)實(shí)時(shí)、不同步,那么用戶從一臺(tái)服務(wù)器讀出的數(shù)據(jù),就有別于從另一臺(tái)服務(wù)器讀出的數(shù)據(jù),這是不能允許的。所以必須實(shí)現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)同步。這樣,在查詢的時(shí)候就可以有多個(gè)資源,實(shí)現(xiàn)均衡。比較常用的方法是Moebius for SQL Server集群,Moebius for SQL Server集群采用將核心程序駐留在每個(gè)機(jī)器的數(shù)據(jù)庫中的辦法,這個(gè)核心程序稱為Moebius for SQL Server 中間件,主要作用是監(jiān)測數(shù)據(jù)庫內(nèi)數(shù)據(jù)的變化并將變化的數(shù)據(jù)同步到其他數(shù)據(jù)庫中。數(shù)據(jù)同步完成后客戶端才會(huì)得到響應(yīng),同步過程是并發(fā)完成的,所以同步到多個(gè)數(shù)據(jù)庫和同步到一個(gè)數(shù)據(jù)庫的時(shí)間基本相等;另外同步的過程是在事務(wù)的環(huán)境下完成的,保證了多份數(shù)據(jù)在任何時(shí)刻數(shù)據(jù)的一致性。正因?yàn)镸oebius 中間件宿主在數(shù)據(jù)庫中的創(chuàng)新,讓中間件不但能知道數(shù)據(jù)的變化,而且知道引起數(shù)據(jù)變化的SQL語句,根據(jù)SQL語句的類型智能的采取不同的數(shù)據(jù)同步的策略以保證數(shù)據(jù)同步成本的最小化。
 
3、優(yōu)缺點(diǎn)
? 優(yōu)點(diǎn):
 ? (1) 擴(kuò)展性強(qiáng):當(dāng)系統(tǒng)要更高數(shù)據(jù)庫處理速度時(shí),只要簡單地增加數(shù)據(jù)庫服務(wù)器就 可以得到擴(kuò)展。
 ? (2) 可維護(hù)性:當(dāng)某節(jié)點(diǎn)發(fā)生故障時(shí),系統(tǒng)會(huì)自動(dòng)檢測故障并轉(zhuǎn)移故障節(jié)點(diǎn)的應(yīng)用,保證數(shù)據(jù)庫的持續(xù)工作。
 ? (3) 安全性:因?yàn)閿?shù)據(jù)會(huì)同步的多臺(tái)服務(wù)器上,可以實(shí)現(xiàn)數(shù)據(jù)集的冗余,通過多份數(shù)據(jù)來保證安全性。
? ? ? ?另外它成功地將數(shù)據(jù)庫放到了內(nèi)網(wǎng)之中,更好地保護(hù)了數(shù)據(jù)庫的安全性。
 ? (4) 易用性:對應(yīng)用來說完全透明,集群暴露出來的就是一個(gè)IP
? 缺點(diǎn):
? (1) 不能夠按照Web服務(wù)器的處理能力分配負(fù)載。
 ? (2) 負(fù)載均衡器(控制端)故障,會(huì)導(dǎo)致整個(gè)數(shù)據(jù)庫系統(tǒng)癱瘓。
二、安裝與配置
Moebius的安裝非常簡便,在裝有SQL Server引擎的服務(wù)器上直接點(diǎn)擊安裝包進(jìn)行安裝,安裝過程中一直下一步即可(如下圖)。
 
 
配置環(huán)境如下圖所示:
 
 
 
 
三、測試結(jié)果
通過對Moebius的簡單測試來看,Moebius的確實(shí)現(xiàn)了對SQL Server的負(fù)載均衡、高可用以及保證數(shù)據(jù)的安全。
對于國內(nèi)能夠有公司實(shí)現(xiàn)類似Oracle RAC這樣的負(fù)載均衡方案還是非常優(yōu)秀的,由于環(huán)境有限,未能在復(fù)雜的環(huán)境
 
下進(jìn)行測試,如果能夠在大數(shù)據(jù)的環(huán)境以及多機(jī)的集群環(huán)境下還能夠穩(wěn)定運(yùn)行,那應(yīng)該算是不錯(cuò)的解決方案了。
 
附上Moebius詳細(xì)文檔連接,有需要的可以參考:
http://wenku.baidu.com/view/383b2f83b9d528ea81c7797d.html?re=view
 
 
總結(jié)
以上是生活随笔為你收集整理的Moebius for SQLServer负载均衡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: DeskSpace-适用于Vista的类
- 下一篇: My Fifty-fifth Page
