高可用存儲架構(gòu):雙機、集群捍掺、分區(qū)

第76篇

極客時間《從0開始學架構(gòu)》課程筆記撼短。

存儲高可用方案的本質(zhì):數(shù)據(jù)冗余,即把數(shù)據(jù)復制到多個存儲設備
存儲高可用方案的復雜性:如何應對復制延遲和中斷導致的數(shù)據(jù)不一致問題
常見高可用存儲架構(gòu)有3類:
1挺勿、雙機高可用:主備、主從喂柒、主備/主從切換不瓶、主主
2禾嫉、數(shù)據(jù)集群:3臺以上機器組合成一個系統(tǒng)
3、數(shù)據(jù)分區(qū):不同分區(qū)的數(shù)據(jù)分布在不同的地理位置蚊丐,每個分區(qū)存儲一部分數(shù)據(jù)

一熙参、雙機高可用架構(gòu)

主備復制

定義:備機只備份數(shù)據(jù),不進行讀寫麦备,切換需要人工操作

主備方案架構(gòu)

優(yōu)點:簡單
1孽椰、客戶端無需知道備機升級為主機,備機修改為主機通過人工操作
2凛篙、主機備機只需要進行數(shù)據(jù)復制黍匾,不用判斷服務狀態(tài)

缺點:
1、備機未提供讀寫操作呛梆,只進行數(shù)據(jù)備份锐涯,硬件成本有浪費
2、故障恢復時需要人工干預填物,無法自動恢復

應用場景:公司內(nèi)部的后臺管理系統(tǒng)纹腌。如學生管理系統(tǒng)、員工管理系統(tǒng)滞磺、文檔管理系統(tǒng)

主從復制

定義:主機負責讀寫操作升薯,從機只負責讀操作,不負責寫操作

主從方案架構(gòu)

優(yōu)點:與主備相比
1击困、主機故障時涎劈,讀操作相關(guān)業(yè)務正常運行
2、從機提供讀操作沛励,發(fā)揮了硬件性能

缺點:
1责语、客戶端需要感知主從關(guān)系,復雜度比主備復制要高
2目派、如果主從復制延遲比較大坤候,業(yè)務會出現(xiàn)數(shù)據(jù)不一致問題
3、出現(xiàn)故障時需要人工干預

應用場景:寫少讀多的業(yè)務企蹭。如論壇白筹、BBS、新聞網(wǎng)站谅摄、政府門戶

雙機切換

定義:
主備復制和主從復制在主機出現(xiàn)故障時存在兩個問題:
1徒河、無法進行寫操作;2送漠、需要人工指定新的主機
雙機切換就是在原方案基礎上增加『切換』功能顽照,由系統(tǒng)自動決定主機角色并完成切換。雙機切換包括主備切換個主從切換兩種方案。

設計關(guān)鍵:
1代兵、主備間狀態(tài)判斷:狀態(tài)傳遞的渠道尼酿,以及狀態(tài)檢測的內(nèi)容
2、切換決策:切換時機植影、切換策略裳擎、自動程度
3、數(shù)據(jù)沖突解決:新舊主機之間可能存在數(shù)據(jù)沖突

常見的3種切換架構(gòu):互連式思币、中介式和模擬式

互連式

定義:主備機直接建立狀態(tài)傳遞的渠道

互連式切換架構(gòu)

缺點:狀態(tài)傳遞的通道本身有故障時備機自動升級為主機鹿响,出現(xiàn)兩個主機

中介式

定義:在主備兩者之外引入第三方中介,通過中介來傳遞狀態(tài)信息

中介式切換架構(gòu)

優(yōu)點:主備機的連接管理和狀態(tài)決策都更簡單

缺點:中介本身需要高可用谷饿,否則會進入雙備機狀態(tài)

應用:推薦基于 ZooKeeper 搭建中介式切換架構(gòu)

模擬式

定義:主備機之間不傳遞任何狀態(tài)數(shù)據(jù)惶我,備機模擬成一個客戶端,向主機發(fā)起模擬的讀寫操作各墨,根據(jù)讀寫操作的響應情況來判斷主機的狀態(tài)

模擬式切換架構(gòu)

優(yōu)點:實現(xiàn)更加簡單指孤,省去了狀態(tài)傳遞通道的建立和管理工作

缺點:狀態(tài)信息只有響應信息,基于有限的狀態(tài)來做狀態(tài)決策贬堵,可能出現(xiàn)偏差

主主復制

定義:兩臺機器都是主機恃轩,互相將數(shù)據(jù)復制給對方

主主復制架構(gòu)

優(yōu)點:無須狀態(tài)信息傳遞,也無須狀態(tài)決策和狀態(tài)切換

缺點:如果采取主主復制架構(gòu)黎做,必須保證數(shù)據(jù)能夠雙向復制叉跛,而很多數(shù)據(jù)是不能雙向復制的,如用戶ID蒸殿、庫存數(shù)據(jù)筷厘、余額數(shù)據(jù)等

應用場景:適合于那些臨時性、可丟失宏所、可覆蓋的數(shù)據(jù)場景酥艳。如用戶登錄產(chǎn)生的 session 數(shù)據(jù)(可以重新登錄生成)、用戶行為的日志數(shù)據(jù)(可以丟失)爬骤、論壇的草稿數(shù)據(jù)(可以丟失)等

二充石、數(shù)據(jù)集群

定義:單臺(主機)服務器無法存儲和處理大量的業(yè)務數(shù)據(jù),必須使用多臺服務器來存儲數(shù)據(jù)霞玄。集群可以分為兩類:數(shù)據(jù)集中集群骤铃、數(shù)據(jù)分散集群

數(shù)據(jù)集中集群:一主多備或者一主多從

數(shù)據(jù)集中式集群

復雜度體現(xiàn):
1、主機如何將數(shù)據(jù)復制給備機:存在多條復制通道坷剧、可能會導致多個備機之間數(shù)據(jù)不一致
2惰爬、備機如何檢測主機狀態(tài):如何處理不同備機對主機狀態(tài)的不同判斷
3、主機故障后惫企,如何決定新的主機:只能允許一臺備機升級為主機撕瞧,選擇哪一臺

應用場景:適合數(shù)據(jù)量不大,集群機器數(shù)量不多的場景。例如风范,ZooKeeper 集群咨跌,一般推薦 5 臺機器左右

數(shù)據(jù)分散集群

復雜點:如何將數(shù)據(jù)分配到不同的服務器上沪么,算法需要考慮均衡性硼婿、容錯性和可伸縮性

特點:
1、數(shù)據(jù)分散集群中的每臺服務器都可以處理讀寫請求禽车,客戶端可以向任意服務器中讀寫數(shù)據(jù)
2寇漫、必須有一個角色來負責執(zhí)行數(shù)據(jù)分配算法,這個角色可以是獨立的一臺服務器殉摔,也可以是集群自己選舉出的一臺服務器

應用場景:適合業(yè)務數(shù)據(jù)量巨大州胳、集群機器數(shù)量龐大的業(yè)務場景。例如逸月,Hadoop 集群栓撞、HBase 集群,可以達到上百臺甚至上千臺服務器

三碗硬、數(shù)據(jù)分區(qū)

定義

將數(shù)據(jù)按照一定的規(guī)則進行分區(qū)瓤湘,不同分區(qū)分布在不同的地理位置上,每個分區(qū)存儲一部分數(shù)據(jù)恩尾,目的是規(guī)避地理級別的故障所造成的巨大影響

設計關(guān)鍵

1弛说、數(shù)據(jù)量

  • 數(shù)據(jù)量大小決定分區(qū)的規(guī)則復雜度
  • 服務器越多運維復雜度越高
  • 增加新服務器時分區(qū)相關(guān)配置和規(guī)則需要修改
  • 分區(qū)規(guī)則需考慮地理容災

2、分區(qū)規(guī)則

  • 根據(jù)地理位置遠近可分為洲際分區(qū)翰意、國家分區(qū)木人、城市分區(qū)
  • 洲際分區(qū)主要用于面向不同大洲提供服務,可以不互通或者僅僅作為備份
  • 國家分區(qū)主要用于面向不同國家的用戶提供服務冀偶,一般也僅作為備份
  • 城市分區(qū)同時對外提供服務醒第,可以滿足業(yè)務異地多活之類的需求

3、復制規(guī)則

  • 常見的3種分區(qū)復制規(guī)則:集中式进鸠、互備式稠曼、獨立式
  • 集中式備份:存在一個總的備份中心,所有的分區(qū)都將數(shù)據(jù)備份到備份中心
  • 集中式備份架構(gòu)優(yōu)缺點:設計簡單堤如、擴展容易蒲列、成本較高
  • 互備式備份:每個分區(qū)備份另外一個分區(qū)的數(shù)據(jù)
  • 互備式備份架構(gòu)優(yōu)缺點:設計較復雜、擴展麻煩搀罢、成本低
  • 獨立式備份:每個分區(qū)有自己的異地獨立備份中心
  • 獨立式備份架構(gòu)優(yōu)缺點:設計簡單蝗岖、擴展容易、成本很高
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末榔至,一起剝皮案震驚了整個濱河市抵赢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖铅鲤,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件划提,死亡現(xiàn)場離奇詭異,居然都是意外死亡邢享,警方通過查閱死者的電腦和手機鹏往,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骇塘,“玉大人伊履,你說我怎么就攤上這事】钗ィ” “怎么了唐瀑?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長插爹。 經(jīng)常有香客問我哄辣,道長,這世上最難降的妖魔是什么赠尾? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任力穗,我火速辦了婚禮,結(jié)果婚禮上萍虽,老公的妹妹穿的比我還像新娘睛廊。我一直安慰自己,他們只是感情好杉编,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布超全。 她就那樣靜靜地躺著,像睡著了一般邓馒。 火紅的嫁衣襯著肌膚如雪嘶朱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天光酣,我揣著相機與錄音疏遏,去河邊找鬼。 笑死救军,一個胖子當著我的面吹牛财异,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唱遭,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼戳寸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拷泽?” 一聲冷哼從身側(cè)響起疫鹊,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤袖瞻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拆吆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聋迎,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年枣耀,在試婚紗的時候發(fā)現(xiàn)自己被綠了霉晕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡奕枢,死狀恐怖娄昆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缝彬,我是刑警寧澤,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布哺眯,位于F島的核電站谷浅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏奶卓。R本人自食惡果不足惜一疯,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夺姑。 院中可真熱鬧墩邀,春花似錦、人聲如沸盏浙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽废膘。三九已至竹海,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丐黄,已是汗流浹背斋配。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留灌闺,地道東北人艰争。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像桂对,于是被迫代替她去往敵國和親甩卓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容