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

一個分布式 MySQL Binlog 存儲系統(tǒng)的架構(gòu)設(shè)計

新聞 系統(tǒng)運維 分布式
kingbus是一個基于raft強一致協(xié)議實現(xiàn)的分布式MySQL binlog 存儲系統(tǒng)。它能夠充當一個MySQL Slave從真正的Master上同步binglog,并存儲在分布式集群中。

 1. kingbus簡介

1.1 kingbus是什么?

kingbus是一個基于raft強一致協(xié)議實現(xiàn)的分布式MySQL binlog 存儲系統(tǒng)。它能夠充當一個MySQL Slave從真正的Master上同步binglog,并存儲在分布式集群中。同時又充當一個MySQL Master將集群中的binlog 同步給其他Slave。 kingbus具有如下特性:

  • 兼容MySQL 復制協(xié)議,通過Gtid方式同步Master上的binlog,同時支持slave通過Gtid方式從kingbus拉取binlog。
  • 跨地域數(shù)據(jù)復制,kingbus通過raft協(xié)議支持跨地域間的數(shù)據(jù)復制。寫入到集群的binlog數(shù)據(jù)在多個節(jié)點間保證強一致,并保證binlog順序與master上完全一致。
  • 高可用,由于kingbus是構(gòu)建在Raft強一致協(xié)議之上,能夠?qū)崿F(xiàn)集群中過半數(shù)節(jié)點存活的情況下,整個binlog拉取和推送服務(wù)高可用。

1.2 kingbus能解決什么問題?

  • kingbus能降低Master的網(wǎng)絡(luò)傳輸流量。在一主多從的復制拓撲中,Master需要發(fā)送binlog到各個slave,如果slave過多的話,網(wǎng)絡(luò)流量很有可能達到Master的網(wǎng)卡上限。例如在Master執(zhí)行delete大表或者online DDL等操作,都有可能造成瞬間生成大量的binlog event,如果master下面掛10臺slave的話,master上的網(wǎng)卡流量就會放大10倍。如果master使用千兆網(wǎng)卡,產(chǎn)生了10MB/S以上的流量就有可能將其網(wǎng)卡跑滿。通過kingbus連接master的方式,可以將slave分散到多臺機器上,從而均衡傳輸流量。
  • 簡化Master Failover流程,只需將連接在kingbus上的一臺Slave提升為Master,并將kingbus重新指向新的Master,其他slave依舊連接在kingbus上,復制拓撲保持不變。
  • 節(jié)省Master存儲binlog文件的空間。一般MySQL上都是較為昂貴的SSD,如果binlog文件占用空間較多,就使得MySQL存儲的數(shù)據(jù)不得不降低。可以通過將binlog都存儲到kingbus中,從而降低Master上binlog文件的存儲數(shù)量
  • 支持異構(gòu)復制。通過阿里巴巴開源的canal連接到kingbus,kingbus源源不斷推送binlog給canal,canal接收完binlog再推送給kafka消息隊列,最終存入HBase里,業(yè)務(wù)部門通過Hive直接寫SQL的方式來實現(xiàn)業(yè)務(wù)的實時分析。

2.kingbus總體架構(gòu)

kingbus整體架構(gòu)如下圖所示:

  • storage負責存儲raft log entry和Metadata,在kingbus中,將raft log和mysql binlog融合在一起了,通過不同的頭部信息區(qū)分,raft log的數(shù)據(jù)部分就是binlog event,這樣就不需要分開存儲兩類log,節(jié)省存儲空間。因為kingbus需要存儲一些元信息,例如raft 節(jié)點投票信息、某些特殊binlog event的具體內(nèi)容(FORMAT_DESCRIPTION_EVENT)。
  • raft復制kingbus集群的Lead選舉、日志復制等功能,使用的是etcd raft library。
  • binlog syncer,只運行在Raft集群的Lead節(jié)點上,整個集群只有一個syncer。syncer偽裝成一個slave,向Master建立主從復制連接,Master會根據(jù)syncer發(fā)送的executed_gtid_set過濾syncer已經(jīng)接受的binlog event,只發(fā)送syncer沒有接收過的binlog event,這套復制協(xié)議完全兼容MySQL 主從復制機制。syncer收到binlog event后,會根據(jù)binlog event類型做一些處理,然后將binlog event封裝成一個消息提交到raft 集群中。通過raft算法,這個binlog event就可以在多個節(jié)點存儲,并達到強一致的效果。
  • binlog server,就是一個實現(xiàn)了復制協(xié)議的Master,真正的slave可以連接到binlog server監(jiān)聽的端口,binlog server會將binlog event發(fā)送給slave,整個發(fā)送binlog event的過程參照MySQL 復制協(xié)議實現(xiàn)。當沒有binlog event發(fā)送給slave時,binlog server會定期發(fā)送heartbeat event給slave,保活復制連接。
  • api server,負責整個kingbus集群的管理,包括以下內(nèi)容:
    • raft cluster membership操作,查看集群狀態(tài),添加一個節(jié)點、移除一個節(jié)點,更新節(jié)點信息等
    • binlog syncer相關(guān)操作,啟動一個binlog syncer,停止binlog syncer,查看binlog syncer狀態(tài)。
    • binlog server相關(guān)操作,啟動一個binlog server,停止binlog server,查看binlog server狀態(tài)。 server層的各種異常,都不會影響到raft層,server可以理解為一種插件,按需啟動和停止。以后擴展kingbus時,只需要實現(xiàn)相關(guān)邏輯的server就行。例如實現(xiàn)一個kafka協(xié)議的server,那么就可以通過kafka client消費kingbus中的消息。

3.kingbus核心實現(xiàn)

3.1 storage的核心實現(xiàn)

storage中有兩種日志形態(tài),一種是raft日志(以下稱為raft log),由raft算法產(chǎn)生和使用,另一種是用戶形態(tài)的Log(也就是mysql binlog event)。Storage在設(shè)計中,將兩種Log形態(tài)組合成一個Log Entry。只是通過不同的頭部信息來區(qū)分。Storage由數(shù)據(jù)文件和索引文件組成,如下圖所示:

  • segment固定大小(1GB),只能追加寫入,名字為first_raft_index-last_raft_index,表示該segment的raft index范圍。
  • 只有***一個segment可寫,其文件名為first_raft_index-inprogress,其他segment只讀。
  • 只讀的segment和對應(yīng)的index file都是通過mmap方式寫入和讀取。
  • ***一個segment的index 內(nèi)容同時存儲在磁盤和內(nèi)存。讀取索引是只需要在內(nèi)存中讀取。

3.2 etcd raft庫的使用

Etcd raft library在處理已經(jīng)Apply的日志、committed entries等內(nèi)容時,是單線程處理的。具體函數(shù)參考鏈接,這個函數(shù)處理時間要確保盡可能短,如果處理時間超過raft 選舉時間,會造成集群重新選舉。這一點需要特別注意。

3.3 binlog syncer的核心實現(xiàn)

binlog syncer主要工作就是:

  • 拉取binlog event
  • 解析并處理binlog event
  • 提交binlog event到raft 集群。 很明顯可以通過pipeline機制來提個整個過程的處理速度,每個階段kingbus都使用單獨的goroutine來處理,通過管道來銜接不同階段。 由于binlog syncer是按照binlog event一個一個接收的,syncer并不能保證事務(wù)完整性,有可能在syncer掛了后,需要重新連接Master,這時候***一個事務(wù)有可能不完整,binlog syncer需要有發(fā)現(xiàn)事務(wù)完整性的能力,kingbus實現(xiàn)了事務(wù)完整性解析的功能,完全參考MySQL源碼實現(xiàn)。

3.4 binlog server的核心實現(xiàn)

binlog server實現(xiàn)了一個master的功能,slave與binlog server建立復制連接時,slave會發(fā)送相關(guān)命令,binlog server需要響應(yīng)這些命令。最終發(fā)送binlog event給slave。對于每個slave,binlog server會啟動一個goroutine不斷讀取raft log,并去掉相關(guān)頭部信息,就變成了binlog event,然后再發(fā)送給slave。

4. 總結(jié)

本文簡要介紹了kingbus整體架構(gòu)和核心組件及流程,通過這篇文章,希望讀者對kingbus有個較為全面的認識。

責任編輯:張燕妮 來源: Github
相關(guān)推薦

2017-10-19 08:45:15

存儲系統(tǒng)HBase

2017-04-14 09:48:25

分布式存儲系統(tǒng)

2018-09-29 14:08:04

存儲系統(tǒng)分布式

2017-07-18 09:51:36

文件存儲系統(tǒng)

2017-10-16 10:24:47

LogDevice存儲系統(tǒng)

2017-10-12 09:36:54

分布式存儲系統(tǒng)

2018-11-20 09:19:58

存儲系統(tǒng)雪崩效應(yīng)

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2017-09-04 08:49:17

存儲原理架構(gòu)

2017-12-18 10:47:04

分布式存儲數(shù)據(jù)

2019-05-13 15:20:42

存儲系統(tǒng)算法

2019-10-15 10:59:43

分布式存儲系統(tǒng)

2018-05-10 09:34:21

spark存儲系統(tǒng)

2018-10-24 11:01:53

分布式存儲系統(tǒng)

2021-07-04 07:07:06

Ceph分布式存儲架構(gòu)

2018-03-13 08:45:08

存儲系統(tǒng)DHT算法

2013-12-27 10:56:42

分布式對象存儲Sheepdog性能測試

2014-02-19 11:37:57

分布式對象存儲Sheepdog

2021-08-07 05:00:20

存儲系統(tǒng)

2010-07-02 10:08:12

BigtableGoogle
點贊
收藏

51CTO技術(shù)棧公眾號

天天干天天色天天| 少妇一级淫免费放| 免费看国产片在线观看| 亚洲日本激情| 国产亚洲一区二区精品| 一级黄色片国产| 97人澡人人添人人爽欧美| 2021国产精品久久精品| 国产日韩精品入口| 国产奶水涨喷在线播放| 成人系列视频| 日韩一区二区在线看| 久久久久北条麻妃免费看| 亚洲黄色av网址| 久久一卡二卡| 国产精品理伦片| 国产女主播一区二区| 亚洲 国产 日韩 欧美| 午夜精品电影| 一区二区三区久久精品| 在线精品视频播放| 粉嫩91精品久久久久久久99蜜桃| 亚洲小说欧美激情另类| 亚洲欧美国产精品桃花| 日本黄视频在线观看| 久久机这里只有精品| 97国产在线视频| 好吊日在线视频| 亚洲丝袜啪啪| 亚洲精品ady| 日韩欧美国产片| 欧美gay视频| 亚洲五月六月丁香激情| avove在线观看| 97电影在线| 久久这里只有精品首页| 国产精品久久久久久久免费大片| 国产露脸国语对白在线| 青青草91视频| 国产成人高潮免费观看精品| 久久久久久美女| 五月天视频在线观看| 成人观看网址| 一区二区三区久久| 黄瓜视频免费观看在线观看www| 天堂成人在线| 99天天综合性| 国产精品视频一区二区三区经| 精品一区二区无码| 久久久久久久尹人综合网亚洲| 韩国三级电影久久久久久| 538任你躁在线精品视频网站| 精品国产精品国产偷麻豆| 日韩经典中文字幕| 一本色道综合久久欧美日韩精品| 成人三级av在线| 精品欧美乱码久久久久久1区2区| 日韩av加勒比| 久久伦理中文字幕| 日韩午夜激情av| 久久无码人妻一区二区三区| 国产亚洲字幕| 精品日韩在线观看| 国产女主播在线播放| 99这里只有精品视频| 精品国产91洋老外米糕| 国产大尺度视频| 另类春色校园亚洲| 亚洲欧美一区二区激情| 国产美女永久免费无遮挡| 国产一区二区欧美| 最近2019中文字幕一页二页| 国产中文av在线| 国产大片一区| 欧美国产日本高清在线| 色网站在线播放| 三级久久三级久久| 国产中文字幕亚洲| www.日韩在线观看| av电影在线观看完整版一区二区| 免费99视频| 中文字幕在线免费| 亚洲资源在线观看| 18禁免费无码无遮挡不卡网站| 欧美日韩免费看片| 欧美美女一区二区| 无码人妻久久一区二区三区蜜桃| 精品国产18久久久久久洗澡| 亚洲欧美日韩中文在线制服| frxxee中国xxx麻豆hd| 亚洲网站在线| 国产精品都在这里| 超碰在线播放97| www国产精品av| 国产又黄又爽免费视频| xxxx另类黑人| 欧美日韩国产中文| 蜜臀av粉嫩av懂色av| 欧美日韩一区二区三区视频播放| 久久精品夜夜夜夜夜久久| 国产午夜激情视频| 久久99精品一区二区三区三区| 国产精品v欧美精品v日韩| 国产视频二区在线观看| 一区二区三区加勒比av| 欧美黄色一级片视频| 亚洲福利合集| 在线亚洲午夜片av大片| 国产精品成人国产乱| 日本伊人色综合网| 国产一区二区免费电影| 免费av网站在线看| 欧美性猛交视频| 337p日本欧洲亚洲大胆张筱雨| 欧美日本成人| 羞羞色国产精品| 国产av精国产传媒| 国产精品免费aⅴ片在线观看| 蜜桃传媒一区二区三区| 91成人app| 在线观看日韩www视频免费| 欧美成人aaaaⅴ片在线看| 激情综合色丁香一区二区| 蜜桃日韩视频| 日韩深夜视频| 亚洲精品在线三区| 日韩欧美中文字幕视频| 久久精品免费观看| 日韩亚洲视频| 在线中文字幕播放| 亚洲国模精品私拍| 免费毛片在线播放免费| 激情综合色播五月| 一本色道久久综合亚洲二区三区| 成人日韩精品| 亚洲精品一区二区网址| 久久久国产精品成人免费| 国产91在线看| 青青草原国产免费| 欧美一级做一级爱a做片性| 国产一区二区三区毛片| 久久一区二区三区视频| 99精品视频在线观看| 国产成人在线小视频| 视频精品一区| 久久久久久国产| 国产 日韩 欧美 精品| 亚洲精品水蜜桃| 日本少妇激三级做爰在线| 成人一区二区| 成人精品久久av网站| 男人天堂久久久| 911精品产国品一二三产区| 神马久久精品综合| 国产精品2024| 中文字幕无码精品亚洲资源网久久| 2020最新国产精品| 欧美国产日韩xxxxx| 人妻一区二区三区| 丁香五六月婷婷久久激情| 日韩一级视频在线观看| 丝袜a∨在线一区二区三区不卡| www.超碰在线.com| 羞羞色午夜精品一区二区三区| 国产精品大陆在线观看| 国产小视频在线播放| 在线影视一区二区三区| 丰满的亚洲女人毛茸茸| 久久精品av麻豆的观看方式| 青青草综合视频| 亚洲日本视频在线| 久久久这里只有精品视频| 天天干天天色天天| 在线免费观看视频一区| 自拍偷拍第9页| 国产精品1024| 狠狠干 狠狠操| 精品国产一区二区三区久久久樱花 | av片免费播放| 亚洲 欧美综合在线网络| 免费在线观看你懂的| 久久精品999| 男人添女荫道口图片| 国产精品亚洲片在线播放| 国产在线播放不卡| av影院在线免费观看| 国产亚洲精品日韩| 精品毛片在线观看| 天天色天天操综合| 免费黄色国产视频| av不卡在线观看| 99热一区二区| 国产视频一区三区| 9999在线观看| 亚洲三级性片| 三日本三级少妇三级99| 日韩美女在线看免费观看| 中文字幕在线日韩| 亚洲精品18在线观看| 欧美日韩中文在线| 国产免费久久久久| 91在线国产观看| 伊人免费视频二| 久久精品观看| 一个色的综合| 日本午夜精品久久久| 成人黄在线观看| 成人福利视频| 久久频这里精品99香蕉| 在线观看完整版免费| 日韩精品在线免费观看| 国产富婆一级全黄大片| 日本久久电影网| 国产精品9191| 亚洲日本在线观看| 摸摸摸bbb毛毛毛片| 99视频在线精品| 深夜视频在线观看| 久久99精品国产麻豆婷婷洗澡| 北条麻妃在线视频观看| 欧美精品观看| 自拍偷拍亚洲色图欧美| 国产精品羞羞答答在线观看| 国产一区视频观看| 午夜日韩影院| 成人激情电影一区二区| 三级成人在线| 538国产精品一区二区免费视频| 亚洲国产精品精华素| 久久天天躁狠狠躁夜夜躁 | 精彩视频一区二区| 欧美日韩怡红院| 免费亚洲一区| 日韩在线综合网| 激情视频一区二区三区| 激情六月天婷婷| 欧美xxx在线观看| 美女黄色片网站| 66视频精品| 在线视频欧美一区| 天天天综合网| 一区二区不卡在线视频 午夜欧美不卡'| 九九久久精品| 欧美一区二区三区精美影视| 国产不卡一区| 日本一区免费在线观看| 精品久久91| 五码日韩精品一区二区三区视频| 精品国产一区一区二区三亚瑟| 欧美日本韩国一区二区三区| 精品在线播放| 神马影院我不卡| 欧美www视频在线观看| 中文字幕中文字幕在线中一区高清| 99久久夜色精品国产亚洲96| 欧美少妇一级片| 国产精品99免费看| 亚洲熟妇无码一区二区三区| 中文日韩欧美| 美女一区二区三区视频| 韩国三级在线一区| 韩国三级视频在线观看| 99视频有精品| 日本精品久久久久中文| 亚洲精品成人在线| 国产精品美女毛片真酒店| 欧美性色xo影院| 亚洲一区二区人妻| 精品国产一二三| 你懂的在线播放| 丝袜美腿亚洲一区二区| 在线中文字幕视频观看| 国外成人在线直播| 国产麻豆久久| 91久久国产综合久久蜜月精品| caoporn成人| 久久手机视频| 小处雏高清一区二区三区| 97中文字幕在线| 久久狠狠一本精品综合网| 九九热精品在线播放| 成人性生交大片免费看中文网站| 玖玖爱在线观看| 亚洲三级在线免费观看| 中文字幕亚洲精品一区| 欧美丰满高潮xxxx喷水动漫| 你懂的网站在线| 伊人一区二区三区久久精品| 欧美性受ⅹ╳╳╳黑人a性爽| 欧日韩在线观看| 欧美二区观看| 品久久久久久久久久96高清| 911精品美国片911久久久 | 中文字幕资源网在线观看免费 | 一本久道中文无码字幕av| 黄色小说综合网站| 草草影院第一页| 亚洲美女免费视频| 精品人妻无码一区二区性色| 91精品国产品国语在线不卡| 美女做暖暖视频免费在线观看全部网址91| 天堂在线资源视频| 久久国产欧美日韩精品| 午夜不卡久久精品无码免费| 国产亚洲精品超碰| 国产真人真事毛片| 欧美三区在线视频| 熟妇人妻系列aⅴ无码专区友真希| 亚洲一区二区福利| aa国产成人| 亚洲伊人一本大道中文字幕| 深爱激情综合| 国产妇女馒头高清泬20p多| 精品一区二区三区免费毛片爱| 给我看免费高清在线观看| 亚洲制服丝袜av| 91精品国自产| 亚洲一级免费视频| 三妻四妾完整版在线观看电视剧| 99久久无色码| 91久久高清国语自产拍| 久久久久久三级| 91丝袜高跟美女视频| 久久久香蕉视频| 91精品国产色综合久久| 中文字幕在线免费| 国产精品99久久久久久www| 日韩三级毛片| 亚洲熟妇无码一区二区三区| 成人黄页毛片网站| 久久国产精品波多野结衣| 欧美一区二区私人影院日本| 日韩伦理在线电影| 国产精品视频一区国模私拍 | 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | free性欧美| 风间由美一区二区三区| 亚洲蜜桃视频| 手机av在线网站| 亚洲免费视频中文字幕| 国产精品女同一区二区| 精品国产一区av| 伊人久久综合网另类网站| 丝袜诱惑亚洲看片| 国产高清视频一区三区| 国产毛片精品| 亚洲精品蜜桃久久久久久| 国产福利91精品| 国产成人无码aa精品一区| 欧美一区二区三区在线观看视频| 老司机午夜在线| 成人网在线视频| 中文字幕一区二区三三| 欧美国产日韩在线视频| 亚洲欧美日韩国产成人精品影院 | 国产伦精品一区二区三区高清版| 一本一道久久a久久精品蜜桃| 中文字幕第三区| 亚洲v精品v日韩v欧美v专区 | 中文字幕综合一区| 亚洲综合伊人| 成人免费看片'免费看| 成人av在线网| 日日摸天天添天天添破| 国产一区二区黑人欧美xxxx| 久久精品xxxxx| 波多野结衣与黑人| 9i在线看片成人免费| 亚洲精品久久久久久久蜜桃| 色婷婷综合久久久久| 91在线一区| av片中文字幕| 亚洲人成伊人成综合网小说| 亚洲第一视频在线播放| 欧美亚洲一级片| 93在线视频精品免费观看| 中文字幕无码毛片免费看| 精品国产福利在线| 在线观看黄av| 黑人巨大精品欧美一区二区小视频| 久久综合亚州| 一级黄色录像视频| 精品亚洲一区二区三区| 亚洲免费资源| 欧美成人一区二区在线观看| 国产精品人成在线观看免费 | www.成人网.com| 日韩国产成人在线| 欧美日韩福利电影| 欧美日韩国产传媒| 催眠调教后宫乱淫校园| 欧美午夜影院一区| 超碰99在线| 一区二区三区四区不卡| 91亚洲精品久久久蜜桃网站 | 日本三级中文字幕在线观看| av电影天堂一区二区在线观看| 国产又大又粗又长| 日本精品一区二区三区在线| 欧美激情第二页|