成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解MySQL高可用方案:MySQL MHA架構(gòu)、原理、應(yīng)用場景等

數(shù)據(jù)庫 MySQL
MySQL高可用,顧名思義就是當(dāng)MySQL主機(jī)或服務(wù)發(fā)生任何故障時能夠立馬有其他主機(jī)頂替其工作,并且最低要求是要保證數(shù)據(jù)一致性。

[[272341]]

概述

MySQL高可用,顧名思義就是當(dāng)MySQL主機(jī)或服務(wù)發(fā)生任何故障時能夠立馬有其他主機(jī)頂替其工作,并且最低要求是要保證數(shù)據(jù)一致性。因此,對于一個MySQL高可用系統(tǒng)需要達(dá)到的目標(biāo)有以下幾點(diǎn):

  • 數(shù)據(jù)一致性保證--這個是最基本的同時也是前提,如果主備的數(shù)據(jù)不一致,那么切換就無法進(jìn)行,當(dāng)然這里的一致性也是一個相對的,但是要做到最終一致性。
  • 故障快速切換--當(dāng)master故障時這里可以是機(jī)器故障或者是實(shí)例故障,要確保業(yè)務(wù)能在最短時間切換到備用節(jié)點(diǎn),使得業(yè)務(wù)受影響時間最短。
  • 簡化日常維護(hù)--通過高可用平臺來自動完成高可用的部署、維護(hù)、監(jiān)控等任務(wù),能夠最大程度的解放DBA手動操作,提高日常運(yùn)維效率。
  • 統(tǒng)一管理--當(dāng)復(fù)制集很多的情況下,能夠統(tǒng)一管理高可用實(shí)例信息、監(jiān)控信息、切換信息等。
  • 高可用的部署--要對現(xiàn)有的數(shù)據(jù)庫架構(gòu)無影響,如果因為部署高可用,需要更改或者調(diào)整數(shù)據(jù)庫架構(gòu)則會導(dǎo)致成本增加。

MySQL MHA

MHA是一位日本MySQL大牛用Perl寫一套MySQL故障切換方案,來保證數(shù)據(jù)庫系統(tǒng)的高可用,在宕機(jī)的事件內(nèi)(通常10-30秒),完成故障轉(zhuǎn)意,部署MHA,可避免主從一致性問題,節(jié)約購買新服務(wù)器的費(fèi)用,不影響服務(wù)器性能,易安裝,不改變現(xiàn)有部署架構(gòu)。

MHA(Master HA)為MySQL主從復(fù)制架構(gòu)提供了automating master failover 功能。MHA在監(jiān)控到master節(jié)點(diǎn)故障時,會提升其中擁有最新數(shù)據(jù)的slave節(jié)點(diǎn)成為新的master節(jié)點(diǎn),在此期間,MHA會通過與其它從節(jié)點(diǎn)獲取額外信息來避免一致性方面的問題。MHA還提供了master節(jié)點(diǎn)的在線切換功能,即按需切換master/slave節(jié)點(diǎn)。

相較于其它HA軟件,MHA的目的在于維持MySQL Replication中Master庫的高可用性,其最大特點(diǎn)是可以修復(fù)多個Slave之間的差異日志,最終使所有Slave保持?jǐn)?shù)據(jù)一致,然后從中選擇一個充當(dāng)新的Master,并將其它Slave指向它。

應(yīng)用場景

一主多從的環(huán)境下,MySQL的主從復(fù)制是異步或是半同步。

Master發(fā)生故障的時候,有可能一部分(或者全部)的Slave未能獲取到最新的binlog,造成Slave之間的binlog轉(zhuǎn)發(fā)發(fā)生偏差。

如下圖所示,Master宕機(jī)之后,id=102的binlog未能被發(fā)送到任何一個Slave上,id=101的binlog只有save2上有,slave3上未能收到id=100和id=101的binlog

 

 

詳解MySQL高可用方案--MySQL MHA架構(gòu)、原理、應(yīng)用場景等

 

如果想要正確恢復(fù):

  • Master必須發(fā)出的ID=102的binlog
  • 還要消除各個Slave之間的差異性

而MHA可以全自動的處理以上這些問題。

MHA架構(gòu)

MHA架構(gòu)如下:

 

詳解MySQL高可用方案--MySQL MHA架構(gòu)、原理、應(yīng)用場景等

 

可實(shí)現(xiàn)master工作狀態(tài)的監(jiān)控以及宕機(jī)時的故障轉(zhuǎn)移

MHA原理

MHA原理如下圖:

 

詳解MySQL高可用方案--MySQL MHA架構(gòu)、原理、應(yīng)用場景等

 

  • 1、等待SQL線程執(zhí)行完畢
  • 2、解析最新的Slave上的中繼日志(relay log)的日志頭(log Header),為其他各個服務(wù)器確定出差異位置
  • 3、將i1-->i2-->X 全部組成一個二進(jìn)制日志

MHA的主要特性

  • 從master的監(jiān)控到故障轉(zhuǎn)移全部都能自動完成,故障轉(zhuǎn)移也可手動執(zhí)行
  • 可在秒級單位內(nèi)實(shí)現(xiàn)故障轉(zhuǎn)移
  • 可將任意Slave提升至master
  • 具備在多個點(diǎn)上調(diào)用外部腳本(擴(kuò)展)的技能,可以用在電源OFF或者IP地址的故障轉(zhuǎn)移上。
  • 安裝和卸載不用停止當(dāng)前的mysql進(jìn)程
  • MHA 自身不會增加服務(wù)器負(fù)擔(dān),不會降低性能,不用追加服務(wù)器
  • 不依賴Storage Engine
  • 不依賴二進(jìn)制文件的格式(不論是statement模式還是Row模式)

MHA組件

1、 Manager工具:

– masterha_check_ssh : 檢查MHA的SSH配置。

– masterha_check_repl : 檢查MySQL復(fù)制。

– masterha_manager : 啟動MHA。

– masterha_check_status : 檢測當(dāng)前MHA運(yùn)行狀態(tài)。

– masterha_master_monitor : 監(jiān)測master是否宕機(jī)。

– masterha_master_switch : 控制故障轉(zhuǎn)移(自動或手動)。

– masterha_conf_host : 添加或刪除配置的server信息。

2、 Node工具(這些工具通常由MHAManager的腳本觸發(fā),無需人手操作)。

– save_binary_logs : 保存和復(fù)制master的二進(jìn)制日志。

– apply_diff_relay_logs : 識別差異的中繼日志事件并應(yīng)用于其它slave。

– filter_mysqlbinlog : 去除不必要的ROLLBACK事件(MHA已不再使用這個工具)。

– purge_relay_logs : 清除中繼日志(不會阻塞SQL線程)。

3、自定義擴(kuò)展:

-secondary_check_script:通過多條網(wǎng)絡(luò)路由檢測master的可用性;

-master_ip_failover_script:更新application使用的masterip; (需要修改)

-shutdown_script:強(qiáng)制關(guān)閉master節(jié)點(diǎn);

-report_script:發(fā)送報告;

-init_conf_load_script:加載初始配置參數(shù);

-master_ip_online_change:更新master節(jié)點(diǎn)ip地址;(需要修改)

總結(jié)

目前MySQL高可用方案可以一定程度上實(shí)現(xiàn)數(shù)據(jù)庫的高可用,比如MMM,heartbeat+drbd,NDB Cluster等。還有MariaDB的Galera Cluster,以及MySQL 5.7.17 Group Replication等。這些高可用軟件各有優(yōu)劣。在進(jìn)行高可用方案選擇時,主要是看業(yè)務(wù)對數(shù)據(jù)一致性方面的要求。不過出于對數(shù)據(jù)庫的高可用和高可靠的要求,個人比較推薦使用MHA架構(gòu)。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2021-04-21 09:21:07

zookeeper集群源碼

2017-11-03 09:40:27

數(shù)據(jù)庫MySQLMHA

2015-05-12 10:22:05

MySQL

2015-07-03 11:26:07

MySQL高可用架MHA

2022-05-17 11:06:44

數(shù)據(jù)庫MySQL系統(tǒng)

2015-10-22 10:28:45

MySQL高可用方案

2013-07-02 15:23:08

MySQL MHA故障轉(zhuǎn)移

2021-12-06 17:44:56

MHAMySQL高可用

2018-01-12 14:20:37

數(shù)據(jù)庫MySQL高可用架構(gòu)

2022-09-29 15:24:15

MySQL數(shù)據(jù)庫高可用

2019-08-27 15:56:44

MySQL 互聯(lián)網(wǎng)數(shù)據(jù)庫

2024-05-17 10:00:52

系統(tǒng)監(jiān)控日志記錄性能指標(biāo)

2024-06-14 15:21:15

2024-09-06 11:52:47

2019-10-17 09:05:21

MySQL數(shù)據(jù)庫高可用

2023-06-06 08:18:24

Kafka架構(gòu)應(yīng)用場景

2018-08-15 09:48:27

數(shù)據(jù)庫Redis應(yīng)用場景

2018-05-16 15:26:43

數(shù)據(jù)庫MySQL主從復(fù)制

2009-04-16 15:30:15

SQL Server 可用性應(yīng)用場景

2017-11-03 10:08:42

OracleMySQL高可用方案
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 999视频| 日韩欧美国产精品一区二区 | 国产在线一区二区三区 | 激情五月激情综合网 | 欧美伊人 | 精产国产伦理一二三区 | jdav视频在线观看免费 | 国产区精品在线观看 | 久久www免费人成看片高清 | 在线色网站 | 一本在线| 日韩欧美一区二区三区四区 | 人人澡人人爱 | 天天操夜夜操 | 国产视频福利一区 | 9999在线视频 | 亚洲永久入口 | 中文字幕在线免费 | 国产视频二区在线观看 | 久久精品中文字幕 | 久久亚洲国产精品 | 国产探花在线精品一区二区 | 欧美一区二区三区四区视频 | 国产乱码精品一品二品 | а√中文在线8 | 国产伦精品一区二区三区在线 | 亚洲国产一区在线 | 日韩精品一区二区三区 | 久久国内精品 | 国产精品资源在线观看 | 羞羞的视频在线观看 | 久久精品视频12 | 久久久久久久久91 | 国产在线精品一区二区 | 欧美精品一区二区三区在线 | 偷拍自拍第一页 | 午夜视频免费在线 | 狠狠干夜夜草 | 日韩综合在线视频 | 喷潮网站| 99re视频在线免费观看 |