MariaDB集群介紹
官方網址:
https://mariadb.com/kb/en/galera/
Galera Cluster介紹
Galera是一個MySQL(也支持MariaDB,Percona)的同步多主集群軟件,目前只支持InnoDB引擎。
主要功能:
-
同步復制
-
真正的multi-master,即所有節點可以同時讀寫數據庫
-
自動的節點成員控制,失效節點自動被清除
-
新節點加入數據自動復制
-
真正的并行復制,行級
-
用戶可以直接連接集群,使用感受上與MySQL完全一致
優勢:
因為是多主,所以不存在Slave lag(延遲)
不存在丟失交易的情況
同時具有讀和寫的擴展能力
更小的客戶端延遲
節點間數據是同步的,而Master/Slave模式是異步的,不同slave上的binlog可能是不同的
技術:
Galera集群的復制功能基于Galera library實現,為了讓MySQL與Galera library通訊,特別針對MySQL開發了wsrep API。
MariaDB介紹
MariaDB是MySQL的一個分支,由MySQL的創始人Michael Widenius主導開發,采用GPL授權許可。
開發這個分支的原因之一是Oracle公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。
在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。
方案總覽
-
haproxy作為MariaDB Galera Cluster的前端
-
2臺haproxy用keepalived避免單點故障
-
3臺MariaDB和一個garbd仲裁節點組成集群,仲裁節點上無數據
-
Galera的SST采用Percona提供的XtraBackup(防止鎖表,非阻塞)
原文地址:http://blog.sina.com.cn/s/blog_704836f40101lixp.html