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