999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SQL Server Alwayson技術的負載均衡研究

2016-10-13 13:57:14黎其宇
移動信息 2016年4期
關鍵詞:數據庫

黎其宇

?

基于SQL Server Alwayson技術的負載均衡研究

黎其宇

民航中南空管局通信網絡中心,廣東 廣州 510405

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

Alwayson高可用性;負載均衡;TDS協議

在這個大數據時代,需要處理的內容越來越多,我們需要更高性能的讀寫IO來實現我們的業務需求。

1 Alwayson技術介紹

Alwayson是SQL Server新增的一個高可用性和災難恢復解決方案。在Alwayson之前,SQL Server已有的高可用性方案,如數據庫鏡像、日志傳送和故障轉移群集均有各自的局限性。[1]而Alwayson則是提取了數據庫鏡像和故障轉移群集的優點,并且有更簡化的高可用性部署。

圖1 Windows Server故障轉移群集

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

2 該技術的負載均衡分析

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

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

圖2 可用性副本

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

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

3 使用會話代理技術實現只讀負載

當 SQL Server 數據庫引擎與應用程序通信時,它將使用稱為“表格格式數據流”(TDS)數據包的 Microsoft 通信格式來格式化通信數據。服務器為每個網絡協議創建一個稱為“TDS 端點”的 SQL Server 對象。在服務器中,TDS 端點是在 SQL Server 安裝過程中由 SQL Server 安裝的。

TDS是一種協議,一系列描述兩個計算機間如何傳輸數據的規則。[3]像別的協議一樣,它定義了傳輸信息的類型和他們傳輸的順序,描述了數據如何流動。表格數據流協議是建立在TCP/IP Net-Library之上的,包含在TCP數據段內。TDS用1433端口進行數據庫通信。

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

Master同時還要監聽Slave返回的響應數據包,用修改源地址和目標地址的方式轉發響應數據包。至此完成客戶端訪問Slave的只讀請求轉發。

同樣地,客戶端要訪問非只讀請求時,Master則將這個TDS數據包轉發到主節點(暫稱主Slave),以此實現只寫或讀寫請求的路由。

4 結語

綜上所述,Alwayson技術主打的亮點是數據的高可用性,并沒有實現真正意義的負載均衡。通過Alwayson的監聽器,實現了主節點與第一輔助節點的讀寫分離,要使用此功能需修改程序,使之適應訪問字符串的。

為了讓數據庫服務器實現更好的負載均衡,可以通過中間數據包代理的方式,實現只讀請求的負載。中間數據包代理的方式要求深入研究TDS的通信機制。

[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

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 动漫精品啪啪一区二区三区| 久久久久国产精品免费免费不卡| 中文字幕乱码二三区免费| 黄色网站不卡无码| 国产成人综合网在线观看| 亚洲成人动漫在线观看| 任我操在线视频| 亚洲国产日韩视频观看| 中文精品久久久久国产网址 | 国产极品嫩模在线观看91| 欧美成a人片在线观看| 久久精品中文无码资源站| 在线国产欧美| 日韩区欧美区| 久久久黄色片| 国产簧片免费在线播放| 91九色国产porny| 美女潮喷出白浆在线观看视频| 日韩无码视频专区| 免费看a毛片| 2020精品极品国产色在线观看| 亚洲一级无毛片无码在线免费视频 | 欧美成人手机在线视频| 毛片免费在线视频| 91在线播放国产| 成人国产免费| 亚洲高清在线天堂精品| 国产精品永久久久久| 午夜无码一区二区三区在线app| 国产美女视频黄a视频全免费网站| 色AV色 综合网站| 97色婷婷成人综合在线观看| 亚洲区第一页| 国产三区二区| 国产精品永久免费嫩草研究院| 日韩欧美国产区| 中国美女**毛片录像在线| 伊人丁香五月天久久综合 | 91探花在线观看国产最新| 国产欧美精品午夜在线播放| 久久a级片| 韩日免费小视频| 国产在线视频自拍| 亚洲精品在线观看91| 日本人又色又爽的视频| 国产成人禁片在线观看| 无码aaa视频| 久久毛片网| 欧美亚洲日韩中文| 国内精自视频品线一二区| 国产女同自拍视频| 日本黄网在线观看| 四虎成人精品| 中文字幕一区二区人妻电影| 免费看美女自慰的网站| 色欲色欲久久综合网| 免费观看无遮挡www的小视频| 国产日韩精品欧美一区灰| yy6080理论大片一级久久| 国产h视频在线观看视频| 免费在线成人网| 欧美日韩一区二区在线免费观看 | 久久香蕉国产线看观看亚洲片| 成人另类稀缺在线观看| 久久精品人人做人人综合试看| 夜夜拍夜夜爽| 制服丝袜亚洲| 亚洲综合专区| 亚洲V日韩V无码一区二区| 看你懂的巨臀中文字幕一区二区| 国产丝袜91| 国产成人亚洲综合a∨婷婷| 拍国产真实乱人偷精品| 99久久国产综合精品2020| 亚洲天堂精品在线| 欧美国产日产一区二区| 凹凸国产熟女精品视频| 凹凸精品免费精品视频| 亚洲日本中文字幕乱码中文| 国模视频一区二区| 亚洲综合二区| 91精品情国产情侣高潮对白蜜|