绝大部分互联网公司,外又都使用MySQL的多项InnoDB引擎存储数据。 为了保证数据库的选择高可用,为了保证性能的外又扩展,绝大部分公司又会使用主从同步,多项读写分离的选择MySQL集群架构。 传统的外又主从同步,读写分离MySQL集群架构如上图所示: 仍如上图所示: (1)用户要关注集群细节,实施读写分离; (2)写库仍是源码库选择单点,性能无法线性扩充; (3)读库有延时,数据不一致; (4)写库挂了,从库顶上,可能出现数据丢失; (5)如果引入中间件,SQL能力会受影响; (6)运维复杂性; (7)… Galera集群(Galera Cluster)孕育而生。 Galera集群是一个基于MySQL InnoDB同步复制的: 画外音:它能支持例如MariaDB等其他数据库,本文重点讲MySQL。 如上图所示: Galera集群官网号称,它及其流弊: (1)真正的多主(True Multi_Master),任何数据修改会被复制到其他节点; (2)没有所谓的从库延时(slave lag),同步复制; (3)强一致性,所有节点处于一致的状态; (4)热备,高可用,亿华云不需要处理所谓的主从故障转移,也不需要虚IP; (5)无需读写分离,随时可以读写任何节点; (6)支持InnoDB; (7)对应用程序透明; (8)… 总之,在官网的描述中,Galera集群是一个高可用的,高性能的,能保证数据一致性与完整性的: (1)针对MySQL的; (2)基于同步认证的(synchronous certification-based); (3)多副本(replication)。 解决方案: 网上Galera的资料好像比较少,问了几个之前的朋友,在互联网公司似乎也用得不多,准备深入写一下Galera集群,毕竟是MySQL主从之后的又一种选择。 【本文为专栏作者“58沈剑”原创稿件,转载请联系原作者】 戳这里,亿华云计算看该作者更多好文 此时数据复制是如何实现的呢?
传统的选择主从同步,读写分离冗余模式,外又数据库集群存在什么问题呢?多项
既然这么多痛点,有没有一项技术,能够解决大家的问题呢?
什么是Galera集群?