亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

數據庫秒級平滑擴容架構方案

2024-07-21 02:51:35
字體:
來源:轉載
供稿:網友

一、緣起

(1)并發量大,流量大的互聯網架構,一般來說,數據庫上層都有一個服務層,服務層記錄了“業務庫名”與“數據庫實例”的映射關系,通過數據庫連接池向數據庫路由sql語句以執行:

如上圖:服務層配置用戶庫user對應的數據庫實例物理位置為ip(其實是一個內網域名)。

 

(2)隨著數據量的增大,數據要進行水平切分,分庫后將數據分布到不同的數據庫實例(甚至物理機器)上,以達到降低數據量,增強性能的擴容目的:

如上圖:用戶庫user分布在兩個實例上,ip0和ip1,服務層通過用戶標識uid取模的方式進行尋庫路由,模2余0的訪問ip0上的user庫,模2余1的訪問ip1上的user庫。

關于數據庫水平切分,垂直切分的更多細節,詳見《一分鐘掌握數據庫垂直拆分》 。

(3)互聯網架構需要保證數據庫高可用,常見的一種方式,使用雙主同步+keepalived+虛ip的方式保證數據庫的可用性:

如上圖:兩個相互同步的主庫使用相同的虛ip。

如上圖:當主庫掛掉的時候,虛ip自動漂移到另一個主庫,整個過程對調用方透明,通過這種方式保證數據庫的高可用。

關于高可用的更多細節,詳見《究竟啥才是互聯網架構“高可用”》。

 

(4)綜合上文的(2)和(3),線上實際的架構,既有水平切分,又有高可用保證,所以實際的數據庫架構是這樣的:

 

提問:如果數據量持續增大,分2個庫性能扛不住了,該怎么辦呢?

回答:繼續水平拆分,拆成更多的庫,降低單庫數據量,增加庫主庫實例(機器)數量,提高性能。

最終問題拋出:分成x個庫后,隨著數據量的增加,要增加到y個庫,數據庫擴容的過程中,能否平滑,持續對外提供服務,保證服務的可用性,是本文要討論的問題。

 

二、停服務方案

在討論平滑方案之前,先簡要說明下“x庫拆y庫”停服務的方案:

(1)站點掛一個公告“為了為廣大用戶提供更好的服務,本站點/游戲將在今晚00:00-2:00之間升級,屆時將不能登錄,用戶周知”

(2)停服務

(3)新建y個庫,做好高可用

(4)數據遷移,重新分布,寫一個數據遷移程序,從x個庫里導入到y個庫里,路由規則由%x升級為%y

(5)修改服務配置,原來x行配置升級為y行

(6)重啟服務,連接新庫重新對外提供服務

整個過程中,最耗時的是第四步數據遷移。

 

回滾方案

如果數據遷移失敗,或者遷移后測試失敗,則將配置改回x庫,恢復服務,改天再掛公告。

 

方案優點:簡單

 

方案缺點

(1)停服務,不高可用

(2)技術同學壓力大,所有工作要在規定時間內做完,根據經驗,壓力越大約容易出錯(這一點很致命)

(3)如果有問題第一時間沒檢查出來,啟動了服務,運行一段時間后再發現有問題,難以回滾,需要回檔,可能會丟失一部分數據

 

有沒有更平滑的方案呢?

 

三、秒級、平滑、帥氣方案

再次看一眼擴容前的架構,分兩個庫,假設每個庫1億數據量,如何平滑擴容,增加實例數,降低單庫數據量呢?三個簡單步驟搞定。

 

(1)修改配置

主要修改兩處:

a)數據庫實例所在的機器做雙虛ip,原來%2=0的庫是虛ip0,現在增加一個虛ip00,%2=1的另一個庫同理

b)修改服務的配置(不管是在配置文件里,還是在配置中心),將2個庫的數據庫配置,改為4個庫的數據庫配置,修改的時候要注意舊庫與辛苦的映射關系

%2=0的庫,會變為%4=0與%4=2;

%2=1的部分,會變為%4=1與%4=3;

這樣修改是為了保證,拆分后依然能夠路由到正確的數據。

 

(2)reload配置,實例擴容

服務層reload配置,reload可能是這么幾種方式:

a)比較原始的,重啟服務,讀新的配置文件

b)高級一點的,配置中心給服務發信號,重讀配置文件,重新初始化數據庫連接池

不管哪種方式,reload之后,數據庫的實例擴容就完成了,原來是2個數據庫實例提供服務,現在變為4個數據庫實例提供服務,這個過程一般可以在秒級完成。

 

整個過程可以逐步重啟,對服務的正確性和可用性完全沒有影響

a)即使%2尋庫和%4尋庫同時存在,也不影響數據的正確性,因為此時仍然是雙主數據同步的

b)服務reload之前是不對外提供服務的,冗余的服務能夠保證高可用

 

完成了實例的擴展,會發現每個數據庫的數據量依然沒有下降,所以第三個步驟還要做一些收尾工作。

 

(3)收尾工作,數據收縮

有這些一些收尾工作

a)把雙虛ip修改回單虛ip

b)解除舊的雙主同步,讓成對庫的數據不再同步增加

c)增加新的雙主同步,保證高可用

d)刪除掉冗余數據,例如:ip0里%4=2的數據全部干掉,只為%4=0的數據提供服務啦

這樣下來,每個庫的數據量就降為原來的一半,數據收縮完成。

 

四、總結

該帥氣方案能夠實現n庫擴2n庫的秒級、平滑擴容,增加數據庫服務能力,降低單庫一半的數據量,其核心原理是:成倍擴容,避免數據遷移。

遷移步驟

(1)修改配置

(2)reload配置,實例擴容完成

(3)刪除冗余數據等收尾工作,數據量收縮完成


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品中文久久久久久久| 日本精品久久久久影院| 午夜精品一区二区三区视频免费看| 亚洲精品一区二三区不卡| 欧美日韩中文在线观看| 亚洲国产小视频在线观看| 国产欧美日韩精品专区| 欧美精品videosex极品1| 国产精品第100页| 欧美大秀在线观看| 欧美日韩人人澡狠狠躁视频| 亚洲精品一区二区三区不| 亚洲精品久久久久久久久| 亚洲第一综合天堂另类专| 亚洲新声在线观看| 国产aaa精品| 国产精品扒开腿做爽爽爽男男| 亚洲国产91色在线| 欧美大片在线免费观看| 亚洲第一精品自拍| 亚洲男人天堂2023| 久久久www成人免费精品| 日韩一区二区福利| 亚洲精品www久久久| 26uuu日韩精品一区二区| 日韩欧美成人精品| 在线观看日韩www视频免费| 久精品免费视频| 精品久久久久久中文字幕| 国产欧美精品一区二区三区-老狼| 在线看片第一页欧美| 国产成人+综合亚洲+天堂| 国产精品揄拍一区二区| 国产精品久久久久久久久久久久久久| 欧美一级片在线播放| 精品久久久av| 亚洲精品国产精品久久清纯直播| 亚洲自拍欧美色图| 亚洲跨种族黑人xxx| 国产精品白嫩初高中害羞小美女| 亚洲免费av网址| 日韩中文字幕国产精品| 日韩av快播网址| 高清亚洲成在人网站天堂| 欧美性猛交xxxxx水多| 欧美日韩中国免费专区在线看| 国产亚洲福利一区| xxx成人少妇69| 91av中文字幕| 国产精品成av人在线视午夜片| 亚洲第一网站免费视频| 欧美性猛交xxxx富婆| 日韩精品一区二区三区第95| 在线观看国产精品淫| 主播福利视频一区| 久久大大胆人体| 精品视频在线播放色网色视频| 欧美日韩一区二区在线播放| 欧美精品免费在线观看| 亚洲大尺度美女在线| 国内精品一区二区三区四区| 亚洲欧美中文字幕| 在线播放精品一区二区三区| 亚洲精品国产综合久久| 91精品国产综合久久男男| 日韩在线免费观看视频| 91精品视频在线免费观看| 欧美精品午夜视频| 久久精品国产清自在天天线| 日本道色综合久久影院| 久久国产加勒比精品无码| 热久久99这里有精品| 亚洲自拍偷拍视频| 欧美亚洲在线播放| 亚洲爱爱爱爱爱| 96精品久久久久中文字幕| 91精品国产色综合久久不卡98口| 日韩中文字幕精品| 91九色视频导航| 日韩精品视频在线观看免费| 亚洲精品视频网上网址在线观看| 538国产精品一区二区在线| 亚洲伊人一本大道中文字幕| 久久99国产精品自在自在app| 国精产品一区一区三区有限在线| 亚洲午夜久久久久久久| 日日狠狠久久偷偷四色综合免费| 青青草99啪国产免费| 中文字幕精品一区久久久久| 成人免费视频网| 69久久夜色精品国产69| 伊人久久久久久久久久久久久| 国产精品免费福利| 日韩av在线一区二区| 亚洲欧洲在线视频| 亚洲人成电影网站色xx| 秋霞成人午夜鲁丝一区二区三区| 91探花福利精品国产自产在线| 久久这里只有精品视频首页| 精品国产一区二区三区久久狼黑人| 欧美成人黑人xx视频免费观看| 国产一级揄自揄精品视频| 国产中文字幕日韩| 欧美性黄网官网| 中文字幕少妇一区二区三区| 欧美孕妇与黑人孕交| 国产一区二区三区高清在线观看| 欧美最猛性xxxxx(亚洲精品)| 欧美体内谢she精2性欧美| 成人午夜激情网| 在线视频精品一| 91精品视频大全| 91精品国产免费久久久久久| 欧美中文在线视频| 91大神福利视频在线| 日韩亚洲欧美中文高清在线| 精品亚洲一区二区三区四区五区| 伊人久久男人天堂| 一二美女精品欧洲| 国产亚洲aⅴaaaaaa毛片| 国产日韩在线精品av| 5278欧美一区二区三区| 92看片淫黄大片欧美看国产片| 在线看日韩欧美| 91精品免费久久久久久久久| 精品日韩美女的视频高清| 亚洲成人a级网| 亚洲一区二区三区在线免费观看| 日韩少妇与小伙激情| 国内揄拍国内精品| 狠狠躁夜夜躁人人爽超碰91| 国产精品视频一区二区高潮| 欧美精品在线免费观看| 欧美一级淫片播放口| 2019中文字幕免费视频| 国产精品一区二区久久久| 91高清免费视频| 精品久久久精品| 日韩av不卡在线| 亚洲精选一区二区| 日韩有码在线观看| 亚洲图片欧美午夜| 91av在线不卡| 中文字幕成人在线| 美女精品久久久| 一本色道久久88综合亚洲精品ⅰ| 国产精品成人久久久久| 综合网日日天干夜夜久久| 国产日产亚洲精品| 国产日韩在线精品av| 国产一区二区丝袜| 久久亚洲国产精品成人av秋霞| 亚洲欧美国内爽妇网| 国产人妖伪娘一区91| 2019日本中文字幕| 97超碰蝌蚪网人人做人人爽| 久久999免费视频| 欧美性猛交xxxx乱大交3| 美日韩精品视频免费看| 久久久人成影片一区二区三区观看| 日韩免费视频在线观看| 久久99精品久久久久久琪琪| 欧美在线视频网站| 亚洲人午夜精品免费|