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

MySQL高可用架構選型,言簡意賅全是要點

數據庫 MySQL
MySQL發(fā)展至今,在高可用性方面不斷前進,從最初的異步復制、半同步復制、群組復制,演進到現(xiàn)在的InnoDB Cluster和InnoDB Replica Set。本文將說明各種高可用架構以及適用場景。

 MySQL發(fā)展至今,在高可用性方面不斷前進,從最初的異步復制、半同步復制、群組復制,演進到現(xiàn)在的InnoDB Cluster和InnoDB Replica Set。本文將說明各種高可用架構以及適用場景。

一 、高可用架構

MySQL Replication

經典的主從復制,需要多個步驟手動進行配置。例如,用戶管理、備份恢復、配置復制......MySQL僅提供了核心功能,整體架構需要用戶自己決定(大部分情況下需要定制)。在這種情況下,組織或者公司需要使用不同的技術組件,技術專家或DBA需要將大量的工作和時間投入到自動化處理。

MySQL InnoDB Cluster

2016年,MySQL推出了MySQL InnoDB Cluster,InnoDB Cluster主要包括MySQL Group Replication(群組成員變化管理、網絡分區(qū)控制、集群范圍一致性......),MySQL Shell(強有力的接口,自動化整合全部的組件),MySQL Router(應用透明路由、負載均衡、自動應用故障轉移......)以及MySQL Clone(自動化部署成員,完全整合至InnoDB Cluster)。

MySQL InnoDB Replica Set

2020年,MySQL推出MySQL InnoDB Replica Set。該功能基于經典的主從復制,完全整合MySQL Shell和MySQL Router。

二、InnoDB Cluster和InnoDB Replica Set

上面簡要介紹了MySQL高可用的過去和現(xiàn)在的解決方案,下面將詳細地介紹InnoDB Cluster和InnoDB Replica Set。

MySQL InnoDB Cluster是MySQL的一體化產品解決方案,具有高可用性和可伸縮性的特點,組件包括MySQL Server、MySQL Shell、MySQL Router和MySQL Group Replication。它的目標是提供一個MySQL一體化產品,全部的組件統(tǒng)一開發(fā),整合全部的組件,并進行全棧測試。此外,簡單易用也是該產品的特色,使用一個統(tǒng)一的客戶端MySQL Shell統(tǒng)一進行集群編排和管理。

MySQL Group Replication

MySQL Group Replication是分布式高可用MySQL數據庫,具有容錯、自動故障轉移、多節(jié)點更新、自動成員管理、沖突檢測/解決以及防止數據丟失功能。它是復制數據庫狀態(tài)機理論的實現(xiàn),能夠保證整體寫入順序,保證一致性。集群范圍內最終一致,如果使用8.0.14之后的MySQL可以實現(xiàn)會話和全局范圍的讀寫強一致性。MySQL 5.7版本將這個功能GA,并支持全部的MySQL平臺,包括Linux、Windows、Solaris、macOS 、FreeBSD等。

MySQL Group Replication可以用于如下場景:

  •  一致性:數據零丟失(RPO=0)

          ○ 主要成員故障時,數據不會丟失。

          ○ 防止網絡分區(qū),通過大多數在線原則防止網絡分區(qū)。

  •  高可用性:自動故障轉移

         ○ 自動選取主要成員

         ○ 自動控制網絡分區(qū)

  •  讀取擴展:

         ○ 按需增加/刪除節(jié)點

         ○ 使用流程控制處理延遲

         ○ 可配置一致性級別

             ◉ 最終一致

             ◉ 完整一致性

  •  主主環(huán)境:

         ○ 同時寫入多個成員

            ◉ 組內順序寫入(XCOM,PAXOS理論的實現(xiàn))

            ◉ 保證一致性

         ○ 寫入性能良好

            ◉ 樂觀鎖(取件于工作負載)

MySQL Router

透明訪問數據庫的架構,在應用程序和后端的MySQL數據庫之間提供透明的路由連接。

  •  透明客戶端連接路由

         ○ 負責均衡

         ○ 應用程序連接故障轉移

         ○ 配置簡單

  •  無縫設計提供簡單的HA客戶端路由

         ○ 路由作為應用程序棧的一部分

  •  整合InnoDB Cluster和InnoDB Replica Set
  •  2個TCP端口用于主節(jié)點和非主節(jié)點通信

MySQL Shell

提供一個數據庫管理接口,可以執(zhí)行MySQL相關的全部任務。

  •  支持多種語言:JavaScript、Python、SQL
  •  可編寫腳本
  •  支持文檔存儲和關系型模型
  •  公開完整的開發(fā)和管理API
  •  經典的MySQL協(xié)議和X協(xié)議

MySQL Shell簡單易用,可以通過它快速搭建InnoDB Cluster。

創(chuàng)建集群

配置實例

添加實例

啟動MySQL Router

檢查集群狀態(tài)

MySQL InnoDB Replica Set

  •  完全整合MySQL Router
  •  簡單易用的MySQL Shell
  •  配置、增加、移除成員
  •  自動化部署成員(Clone)
  •  主從復制架構

         ○ 手動進行切換和故障轉移

         ○ 異步讀取擴展

         ○ 簡單的主從架構

         ○ 沒有硬件網絡要求 

             ◉ 提供主節(jié)點的可用性

InnoDB Replica Set可以通過克隆自動部署新成員,利用MySQL Shell自動配置用戶和復制,手動配置、增加移除應用程序使用的服務器,MySQL Router或其他代理,并且能夠整合MySQL Router的負載均衡能力。從而避免了以往配置主從復制時所需的繁瑣步驟。

以往需要使用額外的監(jiān)控工具在每臺服務器上去檢查拓撲狀態(tài),用戶需要負責全部組件的所有配置,每一個設置都相當于定制化。使用InnoDB Replica Set可以通過MySQL Shell status()來查看拓撲狀態(tài),并且Shell會基于最佳實踐配置服務器、路由和復制,以防止發(fā)生錯誤。

InnoDB Replica Set是一套標準的解決方案,由MySQL團隊提供支持和質量保證,這個方案的優(yōu)點是簡單易用,初學者也可以快速掌握。

三、如何選擇高可用架構

最后說明一下如何選擇不同的高可用架構。

首先要明確業(yè)務的需求,高可用性越高意味著成本也越高??梢詮囊韵聨讉€方面去明確目標:

  •  恢復時間目標(RTO)

          服務從故障中恢復需要多長時間?

  •  恢復點目標(RPO)

          服務在故障中允許丟失的數據

  •  故障類型

         ○ 高可用:單一服務器故障,網絡分區(qū)

         ○ 容災:整體地域/網絡故障

         ○ 人為錯誤:操作失誤,故意破壞

  •  程度

         ○ 0

         ○ 秒

         ○ 分

         ○ 小時

         ○ ...

不同業(yè)務需求對應的架構

單一地域

  •  RTO=小時
  •  RPO=分
  •  一臺MySQL服務器

         ○ 備份

         ○ 同步日志

單一地域

  •  RTO=小時
  •  RPO=少于1秒
  •  一臺MySQL服務器

         ○ 頻繁備份

         ○ 持續(xù)拉取二進制日志

 

 

單一地域

  •  RTO=數分
  •  RPO=少于1秒
  •  MySQL InnoDB Replica Set

單一地域

  •  RTO=數秒
  •  RPO=0
  •  MySQL InnoDB Cluster

多地域

  •  地域故障
  •  RTO=數分
  •  RPO=數秒
  •  MySQL InnoDB Cluster

         ○  配合使用異步復制

多地域

  •  地域故障
  •  RTO=數分
  •  RPO=0
  •  MySQL InnoDB Cluster 跨地域部署

         ○ 兩個地域的一致性級別設置為AFTER,或者三個地域,每個地域具有1-2個成員。

         ○ 寫入的吞吐量受到影響,寫入事務需要保證事務同步。

以上是關于MySQL高可用性架構的內容,用戶可以根據不同的需求選擇適合自己的架構。 

 

責任編輯:龐桂玉 來源: DBAplus社群
相關推薦

2015-10-22 10:28:45

MySQL高可用方案

2022-05-17 11:06:44

數據庫MySQL系統(tǒng)

2018-01-12 14:20:37

數據庫MySQL高可用架構

2019-08-27 15:56:44

MySQL 互聯(lián)網數據庫

2025-03-03 04:20:00

高可用架構冗余法則

2023-12-11 07:44:36

MySQL架構高可用

2022-06-23 11:42:22

MySQL數據庫

2019-08-12 10:48:24

MySQLMHA架構應用場景

2022-02-27 14:37:53

MySQL主備數據

2015-05-12 10:22:05

MySQL

2019-12-24 09:30:59

蘇寧高可用高并發(fā)

2015-07-03 11:26:07

MySQL高可用架MHA

2015-07-08 10:37:12

MySQL高可用架構業(yè)務架構

2011-05-07 11:11:21

LCD拼接

2017-07-10 10:51:19

Mysql群集架構服務器上線

2021-08-20 11:05:14

高并發(fā)架構分布式

2017-09-13 13:42:09

微服務緩存架構

2020-07-24 08:50:17

Redis數據庫

2022-09-29 15:24:15

MySQL數據庫高可用

2017-10-27 14:52:31

互聯(lián)網高可用架構高可用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人一区二区三区 | 欧美激情精品久久久久 | 一区二区三区免费观看 | a级片在线| 9久久 | 激情五月婷婷综合 | 成人免费在线视频 | 免费亚洲视频 | 国产在线a视频 | 91视频进入| 7777在线视频| av中文字幕在线观看 | 黄色a视频| 亚洲一区视频在线 | 亚洲国产精品人人爽夜夜爽 | 欧美男人天堂 | 成人亚洲综合 | 中文字幕视频三区 | 国产精品五月天 | 伊人免费在线观看高清 | 国产精品久久久久久久7777 | 欧美在线视频网 | 99精品国产一区二区青青牛奶 | 国产综合在线视频 | 日韩国产在线观看 | 免费成人国产 | 欧美日韩亚洲三区 | 偷牌自拍 | 精品一区精品二区 | 51ⅴ精品国产91久久久久久 | 久久国 | 欧美日韩在线一区二区三区 | 久久国产成人 | 色免费视频 | 涩涩视频网站在线观看 | 九九视频在线观看 | 久久亚洲国产精品日日av夜夜 | 亚洲精品国产电影 | 欧美久久久久久 | 国产欧美在线观看 | 成人影视网|