MySQL集群結構說明


在以前,數據庫的集群配置一直很難,難點在於MySQL主從結構的高可用和讀寫分離。萬幸的是,Galera/GR的出現,讓整個集群的配置都極大程度地簡化了。

以下是一個簡單的MySQL集群拓撲圖:

1.MySQL中間件:對MySQL Server的讀寫操作進行路由(即讀寫分離);分庫分表(sharding)

  • (1).MySQL Router:MySQL官方提供的輕量級MySQL代理(路由),只提供讀寫分離功能,前身為SQL Proxy。
  • (2).ProxySQL:類似於MySQL Router,輕量級MySQL代理,提供讀寫分離功能,也支持一些sharding功能。有percona版和官方版兩個版本。
  • (3).MaxScale:MariaDB的中間件,和MySQL Router、ProxySQL類似。
    • 這三者類似,都是輕量級數據庫中間件。
  • (4).Amoeba、Cobar、MyCAT:提供很多功能,最主要的功能包括讀寫分離、sharding。
    • 這三者的淵源較深,都是開源的。Amoeba后繼無人,於是Cobar出來,Cobar后繼無人,加上2013年出現了一次較嚴重的問題,於是MyCAT站在Cobar的肩膀上出來了。

2.MySQL主從復制的高可用:至少要實現主從切換或故障時選舉新master節點

  • (1).MMM:淘汰了,在一致性和高並發穩定性等方面有些問題。
  • (2).MHA:有些人還在用,但也有些問題,也是趨於淘汰的MySQL主從高可用方案。
  • (3).Galera:引領時代的主從復制高可用技術。
  • (4).MariaDB Galera Cluster:MariaDB對Galera的實現。
  • (5).PXC:Percona XtraDB Cluster,是Percona對Galera的自我實現,用的人很多。
  • (6).GR:Group Replication,MySQL官方提供的組復制技術(MySQL 5.7.17引入的技術),基於Paxos算法。
    • MariaDB Galera Cluster、PXC、GR是類似的,都各有優點。但GR是革命性的,基於原生復制技術,據傳很多方面都優於PXC。
    • MariaDB Galera Cluster、PXC、GR為了安全性和性能考慮,做出了很多強制性的限制。例如基於GTID復制、只能InnoDB表,每表都必須有主鍵等。要使用它們提供主從復制的高可用,必須要了解它們的各項限制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM