最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解MySQL雙活同步復制四種解決方案

 更新時間:2018年08月23日 09:02:16   投稿:mrr  
這篇文章主要介紹了MySQL 雙活同步復制四種方案,主從復制分成三步,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

對于數(shù)據(jù)實時同步,其核心是需要基于日志來實現(xiàn),是可以實現(xiàn)準實時的數(shù)據(jù)同步,基于日志實現(xiàn)不會要求數(shù)據(jù)庫本身在設(shè)計和實現(xiàn)中帶來任何額外的約束。

基于MySQL原生復制主主同步方案 

這是常見的方案,一般來說,中小型規(guī)模的時候,采用這種架構(gòu)是最省事的。

兩個節(jié)點可以采用簡單的雙主模式,并且使用專線連接,在master_A節(jié)點發(fā)生故障后,應(yīng)用連接快速切換到master_B節(jié)點,反之也亦然。有幾個需要注意的地方,腦裂的情況,兩個節(jié)點寫入相同數(shù)據(jù)而引發(fā)沖突,同時把兩個節(jié)點的auto_increment_increment(自增步長)和auto_increment_offset(自增起始值)設(shè)成不同值。其目的是為了避免master節(jié)點意外宕機時,可能會有部分binlog未能及時復制到slave上被應(yīng)用,從而會導致slave新寫入數(shù)據(jù)的自增值和原先master上沖突了,因此一開始就使其錯開;當然了,如果有合適的容錯機制能解決主從自增ID沖突的話,也可以不這么做,使用更新的數(shù)據(jù)版本5.7+,可以利用多線程復制的方式可以很大程度降低復制延遲,同時,對復制延遲特別敏感的另一個備選方案,是semi-sync半同步復制,基本上無延遲,不過事務(wù)并發(fā)性能會有不小程度的損失,特別是在雙向?qū)懙臅r候,需要綜合評估再決定。

基于Galera replication方案 

Galera是Codership提供的多主數(shù)據(jù)同步復制機制,可以實現(xiàn)多個節(jié)點間的數(shù)據(jù)同步復制以及讀寫,并且可保障數(shù)據(jù)庫的服務(wù)高可用及數(shù)據(jù)一致性,基于Galera的高可用方案主要有MariaDB Galera Cluster和Percona XtraDB Cluster(簡稱PXC)。

目前PXC用的會比較多一些,數(shù)據(jù)嚴格一致性,尤其適合電商類應(yīng)用,不過PXC也是有其局限性的,如果并發(fā)事務(wù)量很大的話,建議采用InfiniBand網(wǎng)絡(luò),降低網(wǎng)絡(luò)延遲,因為PXC存在寫擴大以及短板效應(yīng),并發(fā)效率會有較大損失,類似semi-sync半同步復制,Gelera實際只能用三個節(jié)點,網(wǎng)絡(luò)抖動造成的性能和穩(wěn)定性習慣性問題

基于Group Replication方案 

通過Paxos協(xié)議提供數(shù)據(jù)庫集群節(jié)點數(shù)據(jù)強一致保證,MGR準確來說是MySQL官方推出的高可用解決方案,基于原生復制技術(shù),并以插件的方式提供,并且集群間所有節(jié)點可寫入,解決了單個集群的寫入性能,所有節(jié)點都能讀寫,解決網(wǎng)絡(luò)分區(qū)導致的腦裂問題,提升復制數(shù)據(jù)的可靠性,不過現(xiàn)實還是有些殘酷,目前嘗鮮的并不是很多,同時僅支持InnoDB表,并且每張表一定要有一個主鍵,用于做write set的沖突檢測,必須打開GTID特性,二進制日志格式必須設(shè)置為ROW,用于選主與write set

COMMIT可能會導致失敗,類似于快照事務(wù)隔離級別的失敗場景,目前一個MGR集群最多支持9個節(jié)點,不支持外鍵于save point特性,無法做全局間的約束檢測與部分部分回滾,二進制日志不支持binlog event checksum

基于canal方案

對于數(shù)據(jù)庫的實時同步,阿里巴巴專門有一個開源項目,即otter來實現(xiàn)分布式數(shù)據(jù)庫的同步復制,其核心思想仍然是通過獲取數(shù)據(jù)庫的增量數(shù)據(jù)日志,來進行準實時的同步復制。因此otter本身又依賴于另外一個開源項目即canal,該項目重點則是獲取增量數(shù)據(jù)庫同步日志信息。

當前otter的重點是實現(xiàn)mysql間的數(shù)據(jù)庫同步復制,基本即利用的類似技術(shù)來實現(xiàn)兩個mysql數(shù)據(jù)庫間的雙向同步數(shù)據(jù)庫復制。要注意這個雙向本身指既可以A->B,也可以從B->A,在某個時間節(jié)點本身是單向的。

主從復制分成三步:

master將改變記錄到二進制日志(binary log)中(這些記錄叫做二進制日志事件,binary log events,可以通過show binlog events進行查看);

slave將master的binary log events拷貝到它的中繼日志(relay log);

slave重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)。

canal原理相對比較簡單:

canal模擬mysql slave的交互協(xié)議,偽裝自己為mysql slave,向mysql master發(fā)送dump協(xié)議

mysql master收到dump請求,開始推送binary log給slave(也就是canal)
canal解析binary log對象(原始為byte流)

更多參考 https://github.com/alibaba/canal

總結(jié)

以上所述是小編給大家介紹的MySQL 雙活同步復制四種解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 非常實用的MySQL函數(shù)全面總結(jié)詳解示例分析教程

    非常實用的MySQL函數(shù)全面總結(jié)詳解示例分析教程

    這篇文章主要為大家介紹了非常實用的MySQL函數(shù)的詳解示例分析,文中全面的概括了MySQL函數(shù),并進行了詳細的示例講解,有需要的朋友可以借鑒參考下
    2021-10-10
  • ?SQL 中 CASE 表達式的使用方式

    ?SQL 中 CASE 表達式的使用方式

    這篇文章主要介紹了?SQL 中 CASE 表達式的使用方式,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 阿里云centos7中安裝MySQL8.0.13的方法步驟

    阿里云centos7中安裝MySQL8.0.13的方法步驟

    這篇文章主要介紹了阿里云centos7中安裝MySQL8.0.13的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Windows安裝MySQL8.0.x 版本教程

    Windows安裝MySQL8.0.x 版本教程

    這篇文章介紹了Windows安裝MySQL8.0.x 版本的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 淺談mysql join底層原理

    淺談mysql join底層原理

    本文文章主要介紹了淺談mysql join底層原理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • mysql binlog占用大量磁盤空間的解決方法

    mysql binlog占用大量磁盤空間的解決方法

    MySQL binlog(Binary Log)是MySQL數(shù)據(jù)庫的一種重要組件,用于記錄所有對數(shù)據(jù)庫的更改操作,當MySQL服務(wù)器接收到對數(shù)據(jù)庫的寫入請求并成功執(zhí)行后,這些更改會被寫入binlog,本文給大家介紹了mysql binlog占用大量磁盤空間的解決方法,需要的朋友可以參考下
    2024-06-06
  • MySQL中的insert-on-duplicate語句舉例詳解

    MySQL中的insert-on-duplicate語句舉例詳解

    這篇文章主要給大家介紹了關(guān)于MySQL中insert-on-duplicate語句的相關(guān)資料,文中通過圖文以及代碼示例將insert-on-duplicate的用法介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06
  • mysql跨服務(wù)查詢之FEDERATED存儲引擎的實現(xiàn)

    mysql跨服務(wù)查詢之FEDERATED存儲引擎的實現(xiàn)

    本文主要介紹了mysql跨服務(wù)查詢之FEDERATED存儲引擎的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 解析MySQL中存儲時間日期類型的選擇問題

    解析MySQL中存儲時間日期類型的選擇問題

    這篇文章主要介紹了解析MySQL中存儲時間日期類型的選擇問題,具有一定參考價值,需要的朋友可以了解。
    2017-10-10
  • mysql 操作總結(jié) INSERT和REPLACE

    mysql 操作總結(jié) INSERT和REPLACE

    用于操作數(shù)據(jù)庫的SQL一般分為兩種,一種是查詢語句,也就是我們所說的SELECT語句,另外一種就是更新語句,也叫做數(shù)據(jù)操作語句。
    2009-07-07

最新評論

娱乐| 高平市| 上林县| 宁明县| 星座| 阿拉善盟| 江津市| 崇州市| 乐至县| 博乐市| 宜良县| 连州市| 德化县| 永顺县| 远安县| 三门县| 瑞昌市| 大连市| 波密县| 辽中县| 隆昌县| 蓬莱市| 张家川| 浦北县| 牙克石市| 炉霍县| 龙泉市| 南开区| 澄迈县| 肃宁县| 沾化县| 兴义市| 荆门市| 定结县| 厦门市| 邢台县| 汶上县| 宜城市| 怀远县| 龙川县| 天祝|