精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

美團點評數據庫高可用架構的演進與設想

數據庫 MySQL
本文介紹最近幾年美團點評MySQL數據庫高可用架構的演進過程,以及我們在開源技術基礎上做的一些創新。同時,也和業界其它方案進行綜合對比,了解業界在高可用方面的進展,和未來我們的一些規劃和展望。


美團點評數據庫高可用架構的演進與設想

本文介紹最近幾年美團點評MySQL數據庫高可用架構的演進過程,以及我們在開源技術基礎上做的一些創新。同時,也和業界其它方案進行綜合對比,了解業界在高可用方面的進展,和未來我們的一些規劃和展望。

MMM

在2015年之前,美團點評(點評側)長期使用MMM(Master-Master replication manager for MySQL)做數據庫高可用,積累了比較多的經驗,也踩了不少坑,可以說MMM在公司數據庫高速發展過程中起到了很大的作用。

MMM的架構如下。

 

如上所示,整個MySQL集群提供1個寫VIP(Virtual IP)和N(N>=1)個讀VIP提供對外服務。每個MySQL節點均部署有一個Agent(mmm-agent),mmm-agent和mmm-manager保持通信狀態,定期向mmm-manager上報當前MySQL節點的存活情況(這里稱之為心跳)。當mmm-manager連續多次無法收到mmm-agent的心跳消息時,會進行切換操作。

mmm-manager分兩種情況處理出現的異常。

1.出現異常的是從節點

  • mmm-manager會嘗試摘掉該從節點的讀VIP,并將該讀VIP漂移到其它存活的節點上,通過這種方式實現從庫的高可用。

2.出現異常的是主節點

  • 如果當時節點還沒完全掛,只是響應超時。則嘗試將Dead Master加上全局鎖(flush tables with read lock)。
  • 在從節點中選擇一個候選主節點作為新的主節點,進行數據補齊。
  • 數據補齊之后,摘掉Dead Master的寫VIP,并嘗試加到新的主節點上。
  • 將其它存活的節點進行數據補齊,并重新掛載在新的主節點上。

主庫發生故障后,整個集群狀態變化如下:

 

mmm-manager檢測到master1發生了故障,對數據進行補齊之后,將寫VIP漂移到了master2上,應用寫操作在新的節點上繼續進行。

然而,MMM架構存在如下問題:

  • VIP的數量過多,管理困難(曾經有一個集群是1主6從,共計7個VIP)。某些情況下會導致集群大部分VIP同時丟失,很難分清節點上之前使用的是哪個VIP。
  • mmm-agent過度敏感,容易導致VIP丟失。同時mmm-agent自身由于沒有高可用,一旦掛掉,會造成mmm-manager誤判,誤認為MySQL節點異常。
  • mmm-manager存在單點,一旦由于某些原因掛掉,整個集群就失去了高可用。
  • VIP需要使用ARP協議,跨網段、跨機房的高可用基本無法實現,保障能力有限。

同時,MMM是Google技術團隊開發的一款比較老的高可用產品,在業內使用的并不多,社區也不活躍,Google很早就不再維護MMM的代碼分支。我們在使用過程中發現大量Bug,部分Bug我們做了修改,并提交到開源社區,有興趣的同學可以參考這里。

MHA

針對于此,從2015年開始,美團點評對MySQL高可用架構進行了改進,全部更新為MHA,很大程度上解決了之前MMM遇到的各種問題。

MHA(MySQL Master High Availability)是由Facebook工程師Yoshinori Matsunobu開發的一款MySQL高可用軟件。從名字就可以看出,MHA只負責MySQL主庫的高可用。主庫發生故障時,MHA會選擇一個數據最接近原主庫的候選主節點(這里只有一個從節點,所以該從節點即為候選主節點)作為新的主節點,并補齊和之前Dead Master 差異的Binlog。數據補齊之后,即將寫VIP漂移到新主庫上。

整個MHA的架構如下(為簡單起見,只描述一主一從):

 

這里我們對MHA做了一些優化,避免一些腦裂問題。

比如DB服務器的上聯交換機出現了抖動,導致主庫無法訪問,被管理節點判定為故障,觸發MHA切換,VIP被漂到了新主庫上。隨后交換機恢復,主庫可被訪問,但由于VIP并沒有從主庫上摘除,因此2臺機器同時擁有VIP,會產生腦裂。我們對MHA Manager加入了向同機架上其他物理機的探測,通過對比更多的信息來判斷是網絡故障還是單機故障。

MHA+Zebra (DAL)

Zebra(斑馬)是美團點評基礎架構團隊開發的一個Java數據庫訪問中間件,是在c3p0基礎上包裝的美團點評內部使用的動態數據源,包括讀寫分離、分庫分表、SQL流控等非常強的功能。它和MHA配合,成為了MySQL數據庫高可用的重要一環。如下是MHA+Zebra配合的整體架構:

 

還是以主庫發生故障為例,處理邏輯有如下兩種方式:

當MHA切換完成之后,主動發送消息給Zebra monitor,Zebra monitor更新ZooKeeper的配置,將主庫上配置的讀流量標記為下線狀態。

Zebra monitor每隔一段時間(10s ~ 40s)檢測集群中節點的健康狀況,一旦發現某個節點出現了問題,及時刷新ZooKeeper中的配置,將該節點標記為下線。

一旦節點變更完成,客戶端監聽到節點發生了變更,會立即使用新的配置重建連接,而老的連接會逐步關閉。整個集群故障切換的過程如下(僅描述Zebra monitor主動探測的情況,***種MHA通知請自行腦補^_^)。

 

由于該切換過程還是借助于VIP漂移,導致只能在同網段或者說同個二層交換機下進行,無法做到跨網段或者跨機房的高可用。為解決這個問題,我們對MHA進行了二次開發,將MHA添加VIP的操作去掉,切換完之后通知Zebra monitor去重新調整節點的讀寫信息(將Wirte調整為new master的實IP,將Dead Master的讀流量摘除),整個切換就完全去VIP化,做到跨網段、甚至跨機房切換,徹底解決之前高可用僅局限于同網段的問題。上述切換過程就變成了如下圖。

 

然而,這種方式中的MHA管理節點是單點,在網絡故障或者機器宕機情況下依然存在風險。同時,由于Master-Slave之間是基于Binlog的異步復制,也就導致了主庫機器宕機或者主庫無法訪問時,MHA切換過程中可能導致數據丟失。

另外,當Master-Slave延遲太大時,也會給數據補齊這一操作帶來額外的時間開銷。

Proxy

除了Zebra中間件,美團點評還有一套基于Proxy的中間件,和MHA一起配合使用。當MHA切換后,主動通知Proxy來進行讀寫流量調整,Proxy相比Zebra更加靈活,同時也能覆蓋非Java應用場景。缺點就是訪問鏈路多了一層,對應的Response Time和故障率也有一定增加。有興趣的同學們可以自行前往GitHub查詢詳細文檔詳細文檔。

未來架構設想

上文提到的MHA架構依然存在如下兩個問題:

  • 管理節點單點。
  • MySQL異步復制中的數據丟失。

針對于此,我們在部分核心業務上使用Semi-Sync,可以保證95%以上場景下數據不丟失(依然存在一些極端情況下無法保障數據的強一致性)。另外,高可用使用分布式的Agent,在某個節點發生故障后,通過一定的選舉協議來選擇新的Master,從而解決了MHA Manager的單點問題。

針對上述問題,我們研究了業界的一些領先的做法,簡單描述如下。

主從同步數據丟失

針對主從同步的數據丟失,一種做法是創建一個Binlog Server,該Server模擬Slave接受Binlog日志,主庫每次的數據寫入都需要接收到Binlog Server的ACK應答,才認為寫入成功。Binlog Server可以部署在就近的物理節點上,從而保證每次數據寫入都能快速落地到Binlog Server。在發生故障時,只需要從Binlog Server拉取數據即可保證數據不丟失。

分布式Agent高可用

針對MHA管理節點單點問題,一種做法是讓MySQL數據庫集群中每個節點部署Agent,發生故障時每個Agent均參與選舉投票,選舉出合適的Slave作為新的主庫,防止只通過Manager來切換,去除MHA單點。整個架構如下圖所示。

 

MGR結合中間件高可用

上述方式某種程度上解決了之前的問題,但是Agent和Binlog Server卻是新引入的風險,同時Binlog Server的存在,也帶來了響應時間上的額外開銷。有沒有一種方式,能夠去除Binlog Server和Agent,又能保證數據不丟失呢 ?答案當然是有的。

最近幾年,MySQL社區關于分布式協議Raft和Paxos非常火,社區也推出了基于Paxos的MGR版本的MySQL,通過Paxos將一致性和切換過程下推到數據庫內部,向上層屏蔽了切換細節。架構如下(以MGR的single-primary為例)。

 

當數據庫發生故障時,MySQL內部自己進行切換。切換完成后將topo結構推送給Zebra-monitor,Zebra-monitor進行相應的讀寫流量變更。不過,該架構存在與Binlog Server同樣的需要回復確認問題,就是每次主庫數據寫入,都需要大多數節點回復ACK,該次寫入才算成功,存在一定的響應時間開銷。同時,每個MGR集群必須需要奇數個數(大于1)的節點,導致原先只需要一主一從兩臺機器,現在需要至少三臺,帶來一定的資源浪費。但不管怎么說,MGR的出現是無疑是MySQL數據庫又一次偉大的創新。

結語

本文介紹了美團點評MySQL數據庫高可用架構從MMM到MHA+Zebra以及MHA+Proxy的演進歷程,同時也介紹了業界一些高可用的做法。數據庫最近幾年發展突飛猛進,數據庫的高可用設計上沒有***的方案,只有不斷的突破和創新,我們也一直在這條路上探索更加優秀的設計與更加***的方案。 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2017-12-29 08:54:58

高可用數據庫架構

2019-02-26 09:39:46

數據庫高可用架構

2024-09-13 08:59:20

2018-03-28 09:53:50

Android架構演進

2017-02-20 19:23:13

2019-08-23 13:10:39

美團點評Kubernetes集群管理

2010-10-28 15:37:36

高可用架構

2015-05-04 14:17:16

數據庫架構高可用

2024-03-27 12:14:56

數據庫高可用GDS

2011-03-09 08:53:02

MySQL優化集群

2025-01-15 10:53:54

2023-11-27 07:23:39

2021-01-21 10:23:43

數據庫架構技術

2009-11-12 09:39:05

高可用

2018-12-14 11:04:56

數據庫運維智能

2017-03-24 14:29:23

互聯網

2019-12-24 09:30:59

蘇寧高可用高并發

2018-04-17 10:53:51

2018-07-17 14:25:02

SQL解析美團點評MySQL

2017-11-20 11:23:12

MySQLMyFlash閃回工具
點贊
收藏

51CTO技術棧公眾號

欧美四级电影网| 久久久久久久久久久黄色| 欧美国产日韩xxxxx| 日本免费福利视频| 激情亚洲小说| 午夜欧美大尺度福利影院在线看| 日韩国产一区久久| 精品人妻一区二区三区三区四区 | 一级一级黄色片| 91精品电影| 精品偷拍各种wc美女嘘嘘| www.久久久精品| 91九色国产在线播放| 国产精品网站在线观看| 国产日韩精品久久| 国产尤物在线观看| 久久免费国产| 欧美激情啊啊啊| 五月天婷婷丁香网| 网友自拍一区| 精品欧美乱码久久久久久1区2区 | 不卡亚洲精品| 懂色aⅴ精品一区二区三区蜜月| 宅男一区二区三区| 久久这里精品| 91在线小视频| 国产私拍一区| 国产福利资源在线| 久久99精品视频| 国产精品草莓在线免费观看| 国产成人无码精品亚洲| 欧美成熟视频| 色哟哟入口国产精品| 黄色aaa视频| 久久精品论坛| 亚洲成成品网站| 无码人妻丰满熟妇区毛片蜜桃精品 | 成年人在线观看视频免费| 欧美日韩在线观看首页| 夜夜嗨av一区二区三区中文字幕 | 亚洲欧美久久久| 欧美激情一区二区三级高清视频| 登山的目的在线| 成人精品影院| 最近2019年中文视频免费在线观看 | 欧美激情亚洲天堂| 在线免费观看a视频| 亚洲私人黄色宅男| 经典三级在线视频| sm国产在线调教视频| 亚洲欧洲精品成人久久奇米网| 亚欧精品在线| 在线免费看av| 17c精品麻豆一区二区免费| 一本一道久久a久久精品综合| 毛片在线能看| 国产欧美精品日韩区二区麻豆天美| 欧美久久久久久| 国产在线一二三| 国产午夜精品福利| 一本久道久久综合| 中文在线免费| 午夜国产精品影院在线观看| 无码专区aaaaaa免费视频| av在线加勒比| 色伊人久久综合中文字幕| 午夜欧美福利视频| 亚洲一区导航| 欧美xxx久久| 久久人妻一区二区| 国产伦精品一区二区三区千人斩| 一区二区欧美激情| 久久av红桃一区二区禁漫| 亚洲国产精品91| 欧美久久精品午夜青青大伊人| 久久久久久久久久网站| 激情久久综合| 秋霞av国产精品一区| 成人黄色片在线观看| 极品少妇一区二区| 国产乱码精品一区二区三区卡| 亚洲欧美综合一区二区| 国产精品理论片| 日本道在线视频| 久热在线观看视频| 欧美日韩国产片| wwwxxx色| 国产一区二区三区站长工具| 色偷偷88888欧美精品久久久| 欧美三级在线免费观看| 国产亚洲毛片| 成人免费视频a| 亚洲欧美丝袜中文综合| 国产精品国模大尺度视频| 丰满的少妇愉情hd高清果冻传媒 | 91传媒视频在线观看| 污污网站在线免费观看| 国产精品久久三| 福利视频一二区| 日本一区二区中文字幕| 亚洲国产精品电影在线观看| 国产欧美一区二区三区在线观看视频 | 亚洲精品影视在线观看| 性生交大片免费全黄| 亚洲国产专区| 91精品久久久久久久久中文字幕| 天堂在线资源8| 中文字幕亚洲电影| 国产综合免费视频| 91国内精品白嫩初高生| 色一区av在线| 亚洲欧美另类在线视频| 成人午夜碰碰视频| 懂色av一区二区三区四区五区| 涩涩网在线视频| 日韩精品专区在线影院观看| 五月天精品在线| 一区二区日韩免费看| 亚洲直播在线一区| 美女写真理伦片在线看| 一本大道久久a久久综合| 影音先锋资源av| 外国成人免费视频| 国产免费一区二区三区在线观看| 日韩欧美在线番号| 亚洲网友自拍偷拍| aaaaa黄色片| 久久久久久久久久久久久久久久久久| 国产z一区二区三区| 色窝窝无码一区二区三区成人网站| 中文字幕亚洲精品在线观看| 午夜宅男在线视频| 性人久久久久| 91wwwcom在线观看| 无码国精品一区二区免费蜜桃| 亚洲精品国产一区二区精华液| 日韩一级理论片| 欧洲乱码伦视频免费| 日韩av成人在线| 午夜在线视频观看| 精品久久久一区二区| 精品一区二区三区四区五区六区| 欧美伊人久久| 2019国产精品视频| 五月花成人网| 欧美一级欧美三级在线观看| 久久久久亚洲av片无码| 黄页视频在线91| 日本特级黄色大片| 99精品国产九九国产精品| 精品国产一区二区三区久久久狼| 亚洲视频在线免费播放| 国产精品麻豆99久久久久久| 五月婷婷六月丁香激情| 99久久99久久精品国产片桃花| 成人黄色av网| 日韩av官网| 亚洲精品久久久久久久久久久久久 | a中文在线播放| 欧美专区日韩专区| 日本伦理一区二区三区| 韩国三级电影一区二区| 国内精品国产三级国产99| 91精品尤物| 午夜精品一区二区三区av| 丝袜视频国产在线播放| 色婷婷久久99综合精品jk白丝| 你懂得视频在线观看| 麻豆精品视频在线| 中文字幕日韩精品无码内射| 欧美aaaaaaaa牛牛影院| 国产精品com| 老司机在线看片网av| 欧美成人艳星乳罩| 欧美另类一区二区| 中文文精品字幕一区二区| 一级黄色高清视频| 日韩一区二区久久| 亚洲国产高清国产精品| 秋霞一区二区| 欧美亚洲视频在线观看| 日本中文字幕在线播放| 精品日韩av一区二区| 日韩精品在线一区二区三区| 1000精品久久久久久久久| 亚洲香蕉中文网| 秋霞国产午夜精品免费视频| 穿情趣内衣被c到高潮视频| 国产精品主播在线观看| 国产精品亚洲综合天堂夜夜| 日本高清成人vr专区| 亚洲欧美一区二区三区四区 | 一本色道久久88综合日韩精品| 亚洲最新av网站| 亚洲v日本v欧美v久久精品| 色欲AV无码精品一区二区久久| 国产美女精品在线| 国产一区二区三区精彩视频| 小处雏高清一区二区三区| 精品999在线观看| 自拍偷拍亚洲图片| 欧美中在线观看| 日本电影在线观看| 最近2019年手机中文字幕| 亚洲 欧美 精品| 日韩欧美一区二区在线视频| 自拍偷拍色综合| 欧美日韩黄色大片| 一区二区三区影视| 日本一区二区不卡视频| 精品国产av色一区二区深夜久久| 久久电影国产免费久久电影 | 国产精品成人av久久| 国产精品污www在线观看| 中文字幕一区二区久久人妻网站 | 99在线首页视频| 粉嫩av一区二区三区四区五区 | 五月天激情国产综合婷婷婷| 亚洲精品第1页| 亚洲精品电影院| 国产午夜精品理论片a级大结局| 国产xxxxxxxxx| 国产精品一区二区你懂的| 亚洲综合欧美激情| 丝袜脚交一区二区| 欧美精品色婷婷五月综合| 亚洲无线视频| 国产精品啪啪啪视频| 婷婷久久综合| 亚洲国产一区二区在线 | www国产无套内射com| 大片网站久久| 欧美资源一区| 国产91精品对白在线播放| 欧美高清性xxxxhd| 日韩欧美国产大片| 蜜桃999成人看片在线观看| 国产精品对白久久久久粗| 999视频在线免费观看| www.成人| 亚洲精品日韩激情在线电影| 日韩毛片免费看| 国产在线一区二区三区| 成人免费在线观看视频| 国产精品嫩草视频| 国产福利亚洲| 91精品视频观看| 视频一区日韩| 国产91精品入口17c| xxxxxhd亚洲人hd| 国产伦精品一区二区三区四区视频| 成人福利免费在线观看| 国产伦理一区二区三区| 激情小说一区| 久久人人九九| 成人羞羞动漫| 国产系列第一页| 中文字幕一区二区精品区| 精品无码av无码免费专区| 激情久久综合| 国产福利视频在线播放| 视频一区中文字幕国产| 91欧美视频在线| 国产精品香蕉一区二区三区| 四虎精品一区二区| 久久日韩粉嫩一区二区三区| 日本高清黄色片| 自拍偷拍亚洲激情| 国产精品二区一区二区aⅴ| 午夜精品久久一牛影视| 亚洲自拍一区在线观看| 欧美人牲a欧美精品| www.av网站| 亚洲欧洲国产精品| а√天堂官网中文在线| 91精品国产91久久久久久吃药| 高清电影一区| 91av一区二区三区| 美女网站一区| 91传媒免费视频| 久久久精品网| 亚洲成人激情小说| 久久丝袜美腿综合| 农村妇女精品一区二区| 狠狠做深爱婷婷久久综合一区| 日韩欧美一级大片| 精品久久久久久久一区二区蜜臀| 免费毛片在线| 欧美大片免费观看在线观看网站推荐| 天堂а√在线最新版中文在线| 成人春色激情网| 午夜精品福利影院| 欧美日韩在线免费观看视频| 国产日韩欧美一区在线| 精品亚洲视频在线| 91麻豆国产自产在线观看| 精品一区在线观看视频| 色婷婷激情久久| 精品美女www爽爽爽视频| 国产亚洲欧美另类中文| 欧美xxxx性xxxxx高清| 国产精品久久av| 国产精品sss在线观看av| 亚洲精品白虎| 亚洲免费在线| 亚洲AV无码久久精品国产一区| 久久九九全国免费| 久草国产在线观看| 欧美日韩精品电影| 每日更新在线观看av| 欧美激情女人20p| 亚洲国产一区二区久久| 日本一区免费观看| 亚洲精品乱码| 免费观看一区二区三区| 国产精品久久久久久久久动漫| 成人在线免费看视频| 精品国产一区二区三区忘忧草| 色老头视频在线观看| 国产成人高清激情视频在线观看| 国产劲爆久久| 800av在线免费观看| 国产综合色视频| 国产三级黄色片| 色8久久人人97超碰香蕉987| 午夜激情小视频| 久久免费视频在线观看| 日韩精品一区国产| 手机成人av在线| 老司机免费视频一区二区三区| jizz中文字幕| 91成人免费在线| 国产中文在线视频| 国产精品99久久久久久人| 国产成人高清| 成人一级片网站| wwwwww.欧美系列| 久久黄色精品视频| 亚洲另类xxxx| 亚洲欧美se| 欧美一区二区视频在线| 香蕉国产精品偷在线观看不卡| 亚洲制服丝袜在线播放| 精品久久久久久中文字幕一区奶水 | 麻豆极品一区二区三区| 91香蕉视频污在线观看| 欧美日韩国产一二三| 久久精品视频免费看| 91人成网站www| 中文无码久久精品| 黑森林av导航| 精品国产乱码久久久久久婷婷 | 国产亚洲污的网站| 久久午夜鲁丝片| 色噜噜国产精品视频一区二区| 亚洲我射av| 免费视频爱爱太爽了| 99久久久免费精品国产一区二区| 国产一级精品视频| 国产香蕉精品视频一区二区三区| 影音成人av| 中文字幕中文字幕99| 国产丶欧美丶日本不卡视频| 国产午夜激情视频| 精品一区二区三区四区| 日本欧美韩国| 懂色av一区二区三区四区五区| 国产盗摄女厕一区二区三区| 免费在线不卡视频| 伊人久久精品视频| 国产精品一区二区三区四区在线观看| 成年丰满熟妇午夜免费视频| 99精品热视频| 中文字幕自拍偷拍| 久久成年人免费电影| 色婷婷av一区二区三区丝袜美腿 | 国产成人鲁色资源国产91色综| 日本一二三区不卡| 在线免费观看羞羞视频一区二区| 精品国产乱码一区二区三区| 日本www在线视频| 国产精品天干天干在线综合| 性一交一乱一透一a级| 日韩av免费在线看| 综合在线一区| 日韩精品无码一区二区三区久久久 | 欧美激情一区二区三区高清视频| 欧美国产极品| 亚洲天堂av一区二区| 午夜电影一区二区三区| 免费在线你懂的| 精品国产一区二区三区麻豆免费观看完整版 | 国产农村妇女毛片精品久久麻豆 | 欧美xxxx18性欧美| 亚洲传媒在线| 无码人妻一区二区三区在线视频| 色综合色综合色综合 | 欧美一级高清免费播放| 亚洲综合专区| 伊人网在线视频观看|