常見的高可用MySQL解決方案
1. 主從複製解決方案
主從複製解決方案是MySQL自身提供的一種高可用解決方案,資料同步方法採用的是MySQL複製技術。
MySQL複製就是一個日誌的複製過程,在複製過程中的一個伺服器充當主伺服器,而一個或多個其他伺服器充當從伺服器。
簡單說,就是從伺服器到主伺服器拉取二進位制日誌檔案,然後再將日誌檔案解析成相應的SQL在從伺服器上重新執行一遍
主伺服器的操作,透過這種方式保證資料的一致性。
MySQL複製技術僅僅提供了日誌的同步執行功能,而從伺服器只能提供讀操作,並且當主伺服器出現故障時,必須透過
手動來處理故障轉移,通常的做法是將一臺從伺服器更改為主伺服器,這種解決方案在一定程度上實現了MySQL的高可用性,
可以實現90%的SLA(Service-Level Agreement)。
為了達到更高的可用性,在實際的應用環境中,一般都是採用MySQL複製技術配合高可用叢集軟體來實現自動故障轉移,
這種方式可以實現95%的SLA。
2. MMM高可用解決方案
MMM是Master-Master Replication Manager for MySQL的縮寫,全稱為MySQL主主複製管理器,它提供了MySQL主主複製
配置的監控、故障轉移和管理的一套可伸縮的指令碼套件。在MMM高可用方案中,典型的應用是雙主多從架構,透過MySQL複製
技術可以實現兩個伺服器互為主從,且在任何時候只有一個節點可以被寫入,避免了多點寫入的資料衝突。同時,當可用的
主節點出故障時,MMM套件可以立刻監控到,然後將服務自動切換到另一個主節點繼續提供服務,從而實現MySQL的高可用。
MMM方案是目前比較成熟的MySQL的高可用解決方案,可以實現99%的SLA。
3.Heartbeat/SAN高可用解決方案
Heartbeat/SAN高可用解決方案是藉助第三方軟硬體實現的。在這個方案中,處理故障轉移的方式是高可用叢集軟體Heartbeat,
它監控和管理各個節點間連線的網路,並監控叢集服務,當節點出現故障或者服務不可用時,自動在其他節點啟動叢集服務。
在資料共享方面,透過SAN儲存來共享資料,在正常狀態下,叢集主節點將掛接儲存進行資料讀寫,而當叢集發生故障時,
Heartbeat會首先透過一個仲裁裝置將主節點掛接的儲存裝置釋放,然後在備用節點上掛接儲存,接著啟動服務,透過這種方式
實現資料的共享和同步。這種資料共享方式實現簡單,但是成本較高,並且存在腦裂的可能,需要根據實際應用環境來選擇,這種
方案可以實現99.99%的SLA。
4.Heartbeat/DRBD高可用解決方案
Heartbeat/DRBD高可用解決方案也藉助於第三方軟硬體來實現,在處理故障轉移的方式上依舊採用Heartbeat,不同的是,在資料
共享方面,採用了基於塊級別的資料同步軟體DRBD來實現。
DRBD即Distributed Replication Block Device,是一個用軟體實現的,無共享的,伺服器之間映象塊裝置內容的分散式儲存複製
解決方案。和SAN網路不同,它不共享儲存,而是透過伺服器之間的網路複製資料,這種方案實現起來稍微複雜,同時也存在腦裂的
問題,可以實現99.9%的SLA。
5.MySQL Cluster高可用解決方案
MySQL Cluster 是一種技術,該技術允許在無共享的系統中部署“記憶體中”資料庫的 Cluster 。透過無共享體系結構,系統能夠
使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個元件有自己的記憶體和磁碟,不存在單點故障。
MySQL Cluster 由一組計算機構成,每臺計算機上均執行著多種程式,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,
以及(可能)專門的資料訪問程式。
MySQL Cluster由一組服務節點構成,每個服務節點上均執行著很多程式,包括MySQL伺服器,NDB Cluster的資料節點,管理伺服器,
以及專門的資料訪問程式。此解決方案是MySQL官方主推的技術方案,功能強大,但是由於實現過程較為繁瑣,配置麻煩,實際的企業應用
並不是太多。MySQL Cluster的標準版和電信版(針對電信運營商)可以達到99.999%的SLA。
主從複製解決方案是MySQL自身提供的一種高可用解決方案,資料同步方法採用的是MySQL複製技術。
MySQL複製就是一個日誌的複製過程,在複製過程中的一個伺服器充當主伺服器,而一個或多個其他伺服器充當從伺服器。
簡單說,就是從伺服器到主伺服器拉取二進位制日誌檔案,然後再將日誌檔案解析成相應的SQL在從伺服器上重新執行一遍
主伺服器的操作,透過這種方式保證資料的一致性。
MySQL複製技術僅僅提供了日誌的同步執行功能,而從伺服器只能提供讀操作,並且當主伺服器出現故障時,必須透過
手動來處理故障轉移,通常的做法是將一臺從伺服器更改為主伺服器,這種解決方案在一定程度上實現了MySQL的高可用性,
可以實現90%的SLA(Service-Level Agreement)。
為了達到更高的可用性,在實際的應用環境中,一般都是採用MySQL複製技術配合高可用叢集軟體來實現自動故障轉移,
這種方式可以實現95%的SLA。
2. MMM高可用解決方案
MMM是Master-Master Replication Manager for MySQL的縮寫,全稱為MySQL主主複製管理器,它提供了MySQL主主複製
配置的監控、故障轉移和管理的一套可伸縮的指令碼套件。在MMM高可用方案中,典型的應用是雙主多從架構,透過MySQL複製
技術可以實現兩個伺服器互為主從,且在任何時候只有一個節點可以被寫入,避免了多點寫入的資料衝突。同時,當可用的
主節點出故障時,MMM套件可以立刻監控到,然後將服務自動切換到另一個主節點繼續提供服務,從而實現MySQL的高可用。
MMM方案是目前比較成熟的MySQL的高可用解決方案,可以實現99%的SLA。
3.Heartbeat/SAN高可用解決方案
Heartbeat/SAN高可用解決方案是藉助第三方軟硬體實現的。在這個方案中,處理故障轉移的方式是高可用叢集軟體Heartbeat,
它監控和管理各個節點間連線的網路,並監控叢集服務,當節點出現故障或者服務不可用時,自動在其他節點啟動叢集服務。
在資料共享方面,透過SAN儲存來共享資料,在正常狀態下,叢集主節點將掛接儲存進行資料讀寫,而當叢集發生故障時,
Heartbeat會首先透過一個仲裁裝置將主節點掛接的儲存裝置釋放,然後在備用節點上掛接儲存,接著啟動服務,透過這種方式
實現資料的共享和同步。這種資料共享方式實現簡單,但是成本較高,並且存在腦裂的可能,需要根據實際應用環境來選擇,這種
方案可以實現99.99%的SLA。
4.Heartbeat/DRBD高可用解決方案
Heartbeat/DRBD高可用解決方案也藉助於第三方軟硬體來實現,在處理故障轉移的方式上依舊採用Heartbeat,不同的是,在資料
共享方面,採用了基於塊級別的資料同步軟體DRBD來實現。
DRBD即Distributed Replication Block Device,是一個用軟體實現的,無共享的,伺服器之間映象塊裝置內容的分散式儲存複製
解決方案。和SAN網路不同,它不共享儲存,而是透過伺服器之間的網路複製資料,這種方案實現起來稍微複雜,同時也存在腦裂的
問題,可以實現99.9%的SLA。
5.MySQL Cluster高可用解決方案
MySQL Cluster 是一種技術,該技術允許在無共享的系統中部署“記憶體中”資料庫的 Cluster 。透過無共享體系結構,系統能夠
使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個元件有自己的記憶體和磁碟,不存在單點故障。
MySQL Cluster 由一組計算機構成,每臺計算機上均執行著多種程式,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,
以及(可能)專門的資料訪問程式。
MySQL Cluster由一組服務節點構成,每個服務節點上均執行著很多程式,包括MySQL伺服器,NDB Cluster的資料節點,管理伺服器,
以及專門的資料訪問程式。此解決方案是MySQL官方主推的技術方案,功能強大,但是由於實現過程較為繁瑣,配置麻煩,實際的企業應用
並不是太多。MySQL Cluster的標準版和電信版(針對電信運營商)可以達到99.999%的SLA。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2094003/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常見的高可用 MySQL 解決方案MySql
- 常見的高可用MySQL解決方案轉載MySql
- 常見的Mysql十款高可用方案MySql
- 常見的五種MySQL高可用方案分析MySql
- 高可用解決方案
- 高併發解決方案詳解(9大常見解決方案)
- 架構成長之路:常見的五種MySQL高可用方案分析架構MySql
- MySQL 中常見的幾種高可用架構部署方案MySql架構
- Redis哨兵模式高可用解決方案Redis模式
- MySQL MHA高可用方案MySql
- MySQL MMM高可用方案MySql
- MySQL資料庫常見錯誤及解決方案MySql資料庫
- 常見的跨域解決方案(全)跨域
- git 常見問題的解決方案Git
- 選擇高可用性解決方案
- 5個常見可用性錯誤和解決方案
- MySQL高可用方案介紹MySql
- Mysql高可用架構方案MySql架構
- 常見問題及解決方案
- CSS常見佈局解決方案CSS
- Kafka常見的問題及解決方案Kafka
- 常見的光纖故障及其解決方案
- 史上最全 Redis 高可用解決方案總結Redis
- 阿里雲高可用-容災解決方案阿里
- MySQL資料庫高可用方案MySql資料庫
- MySQL高可用方案MHA介紹MySql
- 前端常見跨域解決方案(全)前端跨域
- WordPress:常見問題及解決方案
- MySQL高可用方案的一些思考MySql
- JAVA常見中文問題的解決方案(轉)Java
- 快取常見問題及解決方案快取
- Java™ 教程(常見問題及其解決方案)Java
- Hadoop常見錯誤及解決方案Hadoop
- 總結下常見佈局解決方案
- 開發常見錯誤及解決方案
- Django常見出錯解決方案彙總Django
- MySQL高可用MMM方案安裝部署MySql
- MySQL高可用方案之DRBD+MySQL+RHCS(上)MySql