小试 MariaDB Galera Cluster


前些时, 难得老板关注新技术, 哈哈, 我于是有机会尝试一下数据库服务器集群. 什么是 Galera Cluster? 简单的说就是3个或以上的 MariaDB 服务器相互作为镜像. 详细介绍在这里. 我按照 Digital Ocean 的指点, 用 AWS 上 3 个虚拟机做了个最小的集群, 下面是我的一些心得(针对 MariaDB 10.0.17):

首先集群的成员个数一定是奇数, 也就3, 5, 7… 因为有的时候个别成员的数据出现异样的时候, 整个集群会以”少数服从多数”的方式修正数据. 虽然集群是 master – master 方式进行数据同步的, 但如果多个成员同时更新相同的数据集合时, 集群内就很容易出现冲突, 这也就降低了性能以及可靠度.

目前我觉得可行的应用方式, 就是将所有的数据更新(insert, update, delete)都集中到一个成员上, 然后所有的查询(select)可以由所有成员分担. 就好像传统的 master – slave 方式, 嗯, 比较失望, 不过至少倚靠 HAProxy, 当一个成员挂了会自动有另一个来接替, 也不会耽误太多的事情.

估计还有一段距离才能把 Galera 用到产品中, 还是很期待的.

🙂