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

不會吧?還在用 MHA 做 MySQL 高可用?

數據庫 MySQL
Orchestrator 是一款成熟的 MySQL 高可用中間件。采用 Go 語言編寫,支持拓撲發現、集群重塑、拓撲恢復等功能。

 [[438893]]

Orchestrator 是一款成熟的 MySQL 高可用中間件。采用 Go 語言編寫,支持拓撲發現、集群重塑、拓撲恢復等功能。

主要功能

拓撲發現:Orchestrator 主動搜尋并記錄 MySQL 節點的主從配置、復制狀態等基礎信息并進行拓撲映射。即使發生故障,它依然可以提供出色的可視化拓撲圖。

集群重塑:Orchestrator 了解復制規則。它能準確識別復制類型:Binlog 位點復制、GTID 復制、偽 GTID 復制、Binlog Server。Orchestrator 還提供了復制檢查功能,保證了副本的移動安全可靠。

拓撲恢復:Orchestrator 定義了 30 種故障模型,根據集群拓撲信息可精準識別故障類型。針對不同的故障類型還提供了 15 種恢復執行計劃,大大降低了恢復失敗的概率。

優勢

相較于 MHA 它有以下優勢:

  • 可視化:Orchestrator 提供了整潔的可視化界面
  • 拓撲發現:拓撲自動發現的能力,大大簡化了集群管理
  • 高可用:Orchestrator 自身基于 Raft 一致性算法實現高可用
  • 安全:Orchestrator 強大的審計功能,讓我們的每一步操作都有跡可循
  • 精準:多達 30 種故障模型,大大降低了誤切的可能性
  • 高效:Orchestrator 為我們提供了 200+ 的 api 來幫助我們管理 MySQL
  • 快速:3s 發現故障 7s 完成切換

高可用

Orchestrator 高可用的實現主要分為兩步:

故障檢測

函數入口:ContinuousDiscovery --> CheckAndRecover --> GetReplicationAnalysis

故障檢測的工作周期為 1 秒,它的主要工作如上圖所示:

  1. 集群拓撲信息獲取:通過 select 語句從后端獲取 Binlog 位點、探活是否有效、從庫復制情況等集群拓撲信息;
  2. 定義故障類型:通過獲取到的集群拓撲信息判定故障類型;
  3. 探測潛在故障:除了判定故障類型外還會探測集群可能存在的潛在故障。Orchestrator 一共定義了 err1236 在內的 15 種潛在故障類型;

故障恢復

函數入口:ContinuousDiscovery --> CheckAndRecover --> executeCheckAndRecoverFunction

故障恢復的工作周期也是 1 秒,它的主要工作如下:

  1. 獲取恢復執行計劃:Orchestrator 一共定義了 15 種執行計劃,根據不同的故障類型它會選擇不同的執行計劃;
  2. leader 節點檢查:Orchestrator 集群只有 leader 節點有權限執行恢復操作;
  3. 故障注冊:對于每一個故障只有注冊成功才能執行后續的恢復操作;
  4. 全局恢復設置檢查:檢查是否開啟了全局恢復禁止,如果有則中斷恢復;
  5. 執行步驟 1 中獲取的執行計劃;
  6. 調用 PostUnsuccessfulFailoverProcesses/PostFailoverProcesses 鉤子 ;

執行計劃

Orchestrator 定義了 15 種執行計劃,本次詳解故障類型 DeadMaster

故障定義:主節點無法訪問,且所有從節點的復制都處于失敗狀態;

判斷標準:1、主節點訪問失敗;2、從節點訪問正常,且所有從節點復制都失敗;

DeadMaster 的執行計劃為:checkAndRecoverDeadMaster

函數入口:CheckAndRecover --> executeCheckAndRecoverFunction --> checkAndRecoverDeadMaster

詳細流程如上圖:

  1. 注冊本次故障恢復;
  2. 調用 PreFailoverProcesses Hook ;
  3. 獲取恢復類型:GTID、偽 GTID、Binlog 位點;
  4. 集群重塑:選主、集群拓撲調整;
  5. 給故障節點打上維護標簽;
  6. 切換前地理位置檢測:如果我們做了不允許跨 DC 故障轉移的設置,本次恢復將中斷;
  7. 檢查新主的復制延時是否超過閥值,如果超過將中斷本次恢復;
  8. 解析本次恢復,為本次恢復打上成功或者失敗的標簽;
  9. 新主執行:stop slave; 和 reset slave all;
  10. 新主執行:set read only false;
  11. 嘗試舊主執行:set read only true;
  12. 在新主執行分離操作:在新主上利用 change master to master_host="//host" ... 命令給 master_host 加上注釋標簽,防止舊主復活后新主重新掛載。這一步和第 9 步互斥;
  13. 替換集群名;
  14. 調用 PostMasterFailoverProcesses Hook;

集群重塑

執行計劃中最為關鍵的就是 RegroupReplicasGTID (集群重塑)這一步,接下來我們繼續分析 Orchestrator 的集群重塑;

集群重塑一共有三個主要工作:選主、復制檢查、結構調整;

選主

  • 同 DC、同物理環境檢查
  • 提升權限檢查:must > prefer
  • 副本有效性檢查:檢查副本是否開啟 Binlog、檢查副本是不是偽副本( Binlog Server)
  • 提升權限被禁止檢查:候選副本被禁止參與選主(被禁止包含:PromoteRule 禁止和配置文件中 PromotionIgnoreHostnameFilters 參數禁止)
  • 版本檢查:版本不低于集群中大多數版本
  • Binlog 格式檢查:Binlog 格式不小于集群中的最大 binlog 格式(比較規則:ROW>MIX>STATEMENT)

復制檢查

主要是執行有效從節點到新主節點的復制可行性檢查,具體如下:

  • 檢查新主是否開啟 Binlog 日志;
  • 檢查新主是否開啟 log_slave_updates 參數;
  • 從節點和主節點版本比較:從庫是否比主庫版本小、從庫是否是 Binlog server;
  • 從庫在開啟 Binlog 和 log_slave_updates 的情況下檢查從庫的 Binlog 格式是否低于新主;
  • 排除被復制篩選掉的從節點(VerifyReplicationFilters 參數控制開關);
  • 檢查 sever id 是否相等;
  • 檢查 uuid 是否相等且不得為空;
  • 檢查是否從庫 sqldelay < 新主 sqldelay 且主庫 sqldelay > ReasonableMaintenanceReplicationLagSeconds 參數;

結構調整

  • 結構調整主要分為三步:
  • StopReplication:1、從節點有效性檢查;2、執行 stop slave;
  • ChangeMasterTo: 1、檢查從節點 io 線程和 sql 線程是否停止;2、新主 hostname 解析;3、執行 change master to master_host=?, master_port=?;
  • StartReplication:執行 start salve;

本文轉載自微信公眾號「悅專欄」,可以通過以下二維碼關注。轉載本文請聯系悅專欄公眾號。

 

 

責任編輯:武曉燕 來源: 悅專欄
相關推薦

2021-08-04 08:31:10

MySQL數據庫日志

2021-09-07 11:20:02

binlogMySQL數據庫

2022-10-28 09:51:18

PrintfLinux開發

2020-08-05 14:28:32

編程程序員代碼

2019-09-21 21:32:34

數據庫SQL分布式

2025-02-19 12:40:33

JWT

2024-10-28 10:55:50

Jedis組件客戶端

2023-02-27 08:53:54

JedislettuceRedis

2022-10-26 08:16:58

jar包依賴關系Maven

2013-07-02 15:23:08

MySQL MHA故障轉移

2020-12-07 05:50:54

print()Python代碼

2019-08-12 10:48:24

MySQLMHA架構應用場景

2017-11-03 09:40:27

數據庫MySQLMHA

2022-05-05 09:14:41

AlpineDocker鏡像開發

2024-10-11 16:34:22

2012-07-19 10:03:32

2015-07-03 11:26:07

MySQL高可用架MHA

2024-11-12 16:28:34

2021-06-10 10:33:22

Jenkins持續集成工具自動化

2022-11-14 18:43:03

JSCSS節流
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品首页 | 五月天婷婷久久 | 欧美一区视频 | jizz中国日本 | 亚洲精品视 | 久久精品亚洲成在人线av网址 | 午夜欧美一区二区三区在线播放 | 亚洲在线一区 | 国内精品视频在线观看 | 精品三区 | 欧美日韩国产精品 | 香蕉大人久久国产成人av | 国产高清视频 | 亚洲成人黄色 | 91精品免费视频 | 日韩欧美久久精品 | 天天综合操 | 色888www视频在线观看 | 91精品久久久久久久久中文字幕 | 国产va| av香蕉| 久久久精品综合 | 黄色精品视频网站 | 成人h免费观看视频 | 日韩不卡在线 | 国产一区不卡在线观看 | 精品一区二区在线视频 | 狠狠综合久久av一区二区老牛 | 久久综合九九 | 久久福利| 色综合激情| 日韩一区不卡 | 日韩视频―中文字幕 | 99精品免费久久久久久日本 | 久久久久久久av麻豆果冻 | 亚洲国产欧美一区 | 亚洲国产精品日韩av不卡在线 | 国产在线精品一区二区 | 性色视频 | 国外激情av | 欧美午夜一区 |