亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SQL Server Alwayson技術(shù)的負(fù)載均衡研究

        2016-10-13 13:57:14黎其宇
        移動(dòng)信息 2016年4期
        關(guān)鍵詞:高可用性群集副本

        黎其宇

        ?

        基于SQL Server Alwayson技術(shù)的負(fù)載均衡研究

        黎其宇

        民航中南空管局通信網(wǎng)絡(luò)中心,廣東 廣州 510405

        在主流關(guān)系型數(shù)據(jù)庫中,Oracle有RAC群集,MySQL有HAProxy等多個(gè)負(fù)載均衡方案。雖然SQL Server 2012隆重推出了Alwayson高可用性技術(shù),但始終沒有實(shí)現(xiàn)真正意義上的負(fù)載均衡。因此,從Alwayson技術(shù)出發(fā),基本實(shí)現(xiàn)了只讀負(fù)載。

        Alwayson高可用性;負(fù)載均衡;TDS協(xié)議

        在這個(gè)大數(shù)據(jù)時(shí)代,需要處理的內(nèi)容越來越多,我們需要更高性能的讀寫IO來實(shí)現(xiàn)我們的業(yè)務(wù)需求。

        1 Alwayson技術(shù)介紹

        Alwayson是SQL Server新增的一個(gè)高可用性和災(zāi)難恢復(fù)解決方案。在Alwayson之前,SQL Server已有的高可用性方案,如數(shù)據(jù)庫鏡像、日志傳送和故障轉(zhuǎn)移群集均有各自的局限性。[1]而Alwayson則是提取了數(shù)據(jù)庫鏡像和故障轉(zhuǎn)移群集的優(yōu)點(diǎn),并且有更簡化的高可用性部署。

        圖1 Windows Server故障轉(zhuǎn)移群集

        如圖1所示,Alwayson高可用性組允許將一組數(shù)據(jù)庫同步到最多4個(gè)副本節(jié)點(diǎn),在最新的SQL Server 2014則支持8個(gè)副本節(jié)點(diǎn)。每組可用性數(shù)據(jù)庫都由一個(gè)“可用性副本”承載。有兩種類型的可用性副本,分別為“主副本”和“輔助副本”。[2]前者用于承載主數(shù)據(jù)庫,后者則承載一組輔助數(shù)據(jù)庫并作為可用性組的潛在故障轉(zhuǎn)移目標(biāo)。主副本使主數(shù)據(jù)庫可用于客戶端的讀寫連接。此外,它在稱為“數(shù)據(jù)同步”的過程中使用,在數(shù)據(jù)庫級(jí)別進(jìn)行同步。主副本將每個(gè)主數(shù)據(jù)庫的事務(wù)日志記錄發(fā)送到每個(gè)輔助數(shù)據(jù)庫,然后將它們應(yīng)用到相應(yīng)的輔助數(shù)據(jù)庫。主數(shù)據(jù)庫與每個(gè)連接的輔助數(shù)據(jù)庫獨(dú)立進(jìn)行數(shù)據(jù)同步。

        2 該技術(shù)的負(fù)載均衡分析

        Always高可用性組可以支持簡單第一副本的負(fù)載均衡,但有較多的限制。

        首先要將某“可用性組”的屬性設(shè)置為:可讀輔助副本“僅讀意向”。

        圖2 可用性副本

        然后通過執(zhí)行sql腳本,建立read指針。在當(dāng)前的primary上為每個(gè)sqlserver instance建立[instance name=>instance tcp url]的對(duì)應(yīng)關(guān)系。再執(zhí)行相應(yīng)sql腳本,建立primary 與read only db的關(guān)系。在當(dāng)前的primary上為各個(gè)primary建立對(duì)應(yīng)的read only url 列表(有優(yōu)先級(jí)概念)。最終訪問偵聽器IP則可以實(shí)現(xiàn)主節(jié)點(diǎn)和第一輔助節(jié)點(diǎn)的讀寫分離,而且不是均衡分配。這個(gè)負(fù)載是有限制的,要求客戶端請(qǐng)求必須增加“ApplicationIntent=ReadOnly”連接串。為了實(shí)現(xiàn)這樣的負(fù)載,程序需先判斷出請(qǐng)求是否為只讀,必須修改大量的程序代碼,不利于實(shí)際應(yīng)用。

        Alwayson可用性組的監(jiān)聽器Listener是可以配置只讀副本的負(fù)載,但只連接到可用的第一副本,并沒有把只讀IO均衡地分配到輔助副本上。

        3 使用會(huì)話代理技術(shù)實(shí)現(xiàn)只讀負(fù)載

        當(dāng) SQL Server 數(shù)據(jù)庫引擎與應(yīng)用程序通信時(shí),它將使用稱為“表格格式數(shù)據(jù)流”(TDS)數(shù)據(jù)包的 Microsoft 通信格式來格式化通信數(shù)據(jù)。服務(wù)器為每個(gè)網(wǎng)絡(luò)協(xié)議創(chuàng)建一個(gè)稱為“TDS 端點(diǎn)”的 SQL Server 對(duì)象。在服務(wù)器中,TDS 端點(diǎn)是在 SQL Server 安裝過程中由 SQL Server 安裝的。

        TDS是一種協(xié)議,一系列描述兩個(gè)計(jì)算機(jī)間如何傳輸數(shù)據(jù)的規(guī)則。[3]像別的協(xié)議一樣,它定義了傳輸信息的類型和他們傳輸?shù)捻樞颍枋隽藬?shù)據(jù)如何流動(dòng)。表格數(shù)據(jù)流協(xié)議是建立在TCP/IP Net-Library之上的,包含在TCP數(shù)據(jù)段內(nèi)。TDS用1433端口進(jìn)行數(shù)據(jù)庫通信。

        TDS協(xié)議位于TCP的數(shù)據(jù)段內(nèi),結(jié)構(gòu)為:IP,TCP,TDS頭,TDS的DATA段。在知道了TDS協(xié)議的數(shù)據(jù)結(jié)構(gòu)后,使用中間人會(huì)話代理的方式,建立一個(gè)中間節(jié)點(diǎn)服務(wù)器(暫稱為Master),捕捉客戶端發(fā)送過來的TDS數(shù)據(jù)包。當(dāng)捕捉到TDS請(qǐng)求數(shù)據(jù)包,截取里面的請(qǐng)求內(nèi)容。如果是只讀請(qǐng)求的話,將該數(shù)據(jù)包的主要內(nèi)容不修改,修改源地址為Master的IP,修改目標(biāo)地址為只讀副本,實(shí)現(xiàn)轉(zhuǎn)發(fā)到Alwayson的只讀副本(暫稱為Slave)。這里面有兩個(gè)細(xì)節(jié),第一,如果請(qǐng)求內(nèi)容沒有包括Alter、Update、Insert以及Delete等關(guān)鍵字,則認(rèn)為是只讀請(qǐng)求;第二,如果有多個(gè)Slave,則存在Slave選擇的問題,那么我們可以采取遍歷Slave的分配方式,初步平衡各個(gè)只讀副本的壓力,這個(gè)均衡算法可以進(jìn)一步優(yōu)化。

        Master同時(shí)還要監(jiān)聽Slave返回的響應(yīng)數(shù)據(jù)包,用修改源地址和目標(biāo)地址的方式轉(zhuǎn)發(fā)響應(yīng)數(shù)據(jù)包。至此完成客戶端訪問Slave的只讀請(qǐng)求轉(zhuǎn)發(fā)。

        同樣地,客戶端要訪問非只讀請(qǐng)求時(shí),Master則將這個(gè)TDS數(shù)據(jù)包轉(zhuǎn)發(fā)到主節(jié)點(diǎn)(暫稱主Slave),以此實(shí)現(xiàn)只寫或讀寫請(qǐng)求的路由。

        4 結(jié)語

        綜上所述,Alwayson技術(shù)主打的亮點(diǎn)是數(shù)據(jù)的高可用性,并沒有實(shí)現(xiàn)真正意義的負(fù)載均衡。通過Alwayson的監(jiān)聽器,實(shí)現(xiàn)了主節(jié)點(diǎn)與第一輔助節(jié)點(diǎn)的讀寫分離,要使用此功能需修改程序,使之適應(yīng)訪問字符串的。

        為了讓數(shù)據(jù)庫服務(wù)器實(shí)現(xiàn)更好的負(fù)載均衡,可以通過中間數(shù)據(jù)包代理的方式,實(shí)現(xiàn)只讀請(qǐng)求的負(fù)載。中間數(shù)據(jù)包代理的方式要求深入研究TDS的通信機(jī)制。

        [1]宋沄劍.SQL Server 2012中的AlwaysOn嘗試[EB/OL].[2012-03-20].http://www.cnblogs.com/CareySon/archive/2012/03/20/2407719.html.

        [2]McKay.Sql server Always On 讀寫分離配置方法[EB/OL].[2014-04-22].http://www.cnblogs.com/aarond/p/3679915.html.

        TP311.13

        A

        1009-6434(2016)04-0015-01

        猜你喜歡
        高可用性群集副本
        分布式數(shù)據(jù)庫提升醫(yī)院信息系統(tǒng)高可用性的應(yīng)用研究
        Cecilia Chiang, pioneer of Chinese cuisine
        面向流媒體基于蟻群的副本選擇算法①
        超長公路隧橋高可用性監(jiān)控平臺(tái)方案分析
        副本放置中的更新策略及算法*
        校園一卡通服務(wù)端高可用性改造實(shí)施方案
        OpenStack云計(jì)算平臺(tái)高可用性的研究
        基于自組織結(jié)對(duì)行為的群集機(jī)器人分群控制方法
        淺談ODX與動(dòng)態(tài)群集
        樹形網(wǎng)絡(luò)中的副本更新策略及算法*
        v一区无码内射国产| 男女深夜视频网站入口| 日本av在线一区二区| 日韩毛片无码永久免费看| 久久99精品久久久久久久清纯| 国产AV秘 无码一区二区三区 | 日韩一区二区av伦理| 国产日产精品_国产精品毛片| 国产亚洲人成a在线v网站| 亚洲国产成人AⅤ片在线观看| 中文字幕日本五十路熟女| 香蕉成人伊视频在线观看| 亚洲日本中文字幕天天更新| 亚洲AⅤ无码国精品中文字慕 | 免费一级黄色大片久久久| 国产99久久久国产精品免费| 99久久精品费精品国产一区二| 成人免费看片又大又黄| 无码a级毛片免费视频内谢| 国产精品美女久久久久| 成 人 网 站 在线 看 免费 | 成年女人在线观看毛片| 日韩亚洲在线观看视频| 97se亚洲国产综合自在线观看| 丰满少妇愉情中文字幕18禁片| 免费a级毛片无码a| 欧美一级三级在线观看| 喷潮出白浆视频在线观看| 91精品国产福利在线观看麻豆| 东京热人妻无码一区二区av| 无码国产精品一区二区免费97| 国产成人久久精品二区三区| 精品香蕉99久久久久网站 | 欧美人与物videos另类xxxxx | 国产成人久久精品亚洲小说| 高清不卡av在线播放| 久久久噜噜噜久久中文福利| 狠狠色婷婷久久一区二区| 国产美女久久久亚洲综合| 免费亚洲一区二区三区av| 风间由美性色一区二区三区|