MySQL主從原理, 高可用架構與高性能架構

MySQL主從, 高可用架構與高性能架構

MySQL主從復制

需求: 以前單個服務器提供服務, 若突然壞了, 需要通過歷史備份將數據備份至新服務器, 需要花很長時間, 損失較大

主從復制原理,: 基于二進制日志(binlog), 記錄所有數據的變化 , 只要某個時間點主從庫數據一致, 后面通過二進制日志實現同步

Mysql主從結構

方框介紹

binlog: 主庫的二進制日志, 記錄主庫數據變化

master.info: 記錄鏈接主庫的用戶名和密碼 , 從庫當前二進制日志的數據位置

relay-log.info: 上次運行過的二進制日志的數據位置

執(zhí)行過程介紹:

  1. I/O線程拿到master.info里面存的鏈接主庫的用戶名和密碼與當前二進制日志的數據位置
  2. I/O線程鏈接主庫并詢問主庫是否有二進制日志的更新, 通過master.info里面的數據位置與主庫的二進制比較
  3. 主庫通過dump線程讀取二進制日志
  4. 若有更新, 則將新數據通過dump線程發(fā)送給I/O線程
  5. I/O線程將新數據寫入TCP/IP緩存
  6. I/O線程給dump線程返回ack表示收到
  7. I/O線程將剛拿到的二進制文件的最新數據更新master.info里面存的數據位置, 用于下次再詢問時的比較依據
  8. TCP/IP緩存將數據寫入relay-log(中繼日志)
  9. SQL線程讀取上次執(zhí)行過的二進制文件的位置,
  10. 找到最新的日志文件并執(zhí)行
  11. 更新relay-log.info

可以通過中間件實現讀寫分離

中間件應該實現的功能:

  1. 判斷請求是讀還是寫, 寫的請求發(fā)給主庫, 讀的請求發(fā)給從庫, 實現讀寫分離
  2. 監(jiān)控, 若某臺從庫掛了, 不在給其發(fā)請求
  3. 讀請求的負載均衡

高可用架構

以上復制集有一個缺點, 當主庫掛了, 主庫里的最新數據可能沒有及時同步到從庫,造成數據丟失

比較好的分布式架構中間件有MHA , 淘寶基于MHA開發(fā)了TMHA, TDDL

這些中間件可以監(jiān)控, 當主庫掛了能實現以下功能

  1. 選主: 選數據最新的一個從庫為主庫
  2. 數據補償: 需要將主庫二進制日志文件獨立出來, 單獨放到一個數據庫

mysql5.7的版本也有一個架構目前還不太成熟

mysql innodb cluster 組成如下:

MGR(實現多臺服務器提供寫的功能)+mysql router(實現讀寫分離)+mysql shell

mysql的中間件理念來自于MongoDB sharding cluster

高性能架構

分片集群

1. 將表分到不同的服務器

join不同服務器的兩張表時, 在服務器之前擋一個中間件, 將mysql的sql層提到中間件中, 下面的服務器只需要提供表數據, join等sql操作由中間件完成

2. 將單表的數據行拆到不同庫

比如一張表有90w行數據, 可以拆到三個服務器, 每個服務器放30w條

同樣在服務器前擋一個中間件, 記錄數據庫的分片策略以及各節(jié)點的信息

各個節(jié)點只負責提供數據與存數據

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末蒲牧,一起剝皮案震驚了整個濱河市桌硫,隨后出現的幾起案子询件,更是在濱河造成了極大的恐慌丑搔,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顾彰,死亡現場離奇詭異勺远,居然都是意外死亡蝶锋,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門言秸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來软能,“玉大人,你說我怎么就攤上這事举畸〔榕牛” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵抄沮,是天一觀的道長跋核。 經常有香客問我,道長叛买,這世上最難降的妖魔是什么砂代? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮率挣,結果婚禮上刻伊,老公的妹妹穿的比我還像新娘。我一直安慰自己椒功,他們只是感情好捶箱,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛾茉,像睡著了一般讼呢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谦炬,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天悦屏,我揣著相機與錄音节沦,去河邊找鬼。 笑死础爬,一個胖子當著我的面吹牛甫贯,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼枉氮!你這毒婦竟也來了指么?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤桥氏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體惨奕,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年竭钝,在試婚紗的時候發(fā)現自己被綠了梨撞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡香罐,死狀恐怖卧波,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情庇茫,我是刑警寧澤港粱,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站港令,受9級特大地震影響啥容,放射性物質發(fā)生泄漏。R本人自食惡果不足惜顷霹,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一咪惠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧淋淀,春花似錦遥昧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至袍辞,卻和暖如春鞋仍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搅吁。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工威创, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留落午,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓肚豺,卻偏偏與公主長得像溃斋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吸申,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359