mysql cluster模式_MySQL 高可用集群模式

企业使用开源软件,特别是在开源数据库选型中,一定会遇到MySQL的使用场景,如何能高效置备和使用开源的数据库高可用性集群,包括备份恢复补丁等问题一直是困扰着企业的DBA。本篇就来带大家看下Nutanix Era提供Galera Cluster的架构与AWS Aurora MySQL Multi Master架构,帮助大家理解。

本篇不讨论Master Slave架构,这个基本上是AWS RDS MySQL就可以提供,并且Slave跨AZ/Region,自动Failover都已经很成熟。包括Nutanix也可以通过自动化工具Calm提供Master Slave集群的自动置备。

Amazon Aurora MySQL Multi Master Cluster

总结放头上:

Multi Master 提供线性横向读、写性能扩展,提供写冲突解决的能力

切换秒级,不需要传统Master slave架构下Prompt Slave时的时间(15-30秒)

这要先从Aurora MySQL的分布式架构说起57070e91e4c84db92d1bd0bf16906dc4.png

这里的"shared storage volume"应该理解成一组存储节点对外提供共享存储能力,不能简单理解成“共享存储”。有了这个前提设定,使得Push Log applicator to Storage成为可能,并且每个可用区4/6的Quorum提供更高的数据可靠性。7dbb21d2d3344763e5cc0efe28f4e3cf.png

左面的标准Master-slave模式,复制binlog,在replica节点上追加日志会开销额外的写操作。

右面Aurora MySQL,由于实现Push Log applicator to Storage,在replica节点上提供100%的读能力0c88c3e2a4f0d8a3f359485b9684eb96.png

写能力的横向扩展也是一样。前提是如果不发生写冲突,那么Aurora Multi Master方式提供写能力横向扩展

当然,既然提供Multi Master可定需要解决写冲突问题,Aurora提供Optimistic Conflict Resolution方式来解决,这里不展开,有兴趣小伙伴可以看文档尾部详细材料02c8436891747f17bd91d8b78dce5478.png

Multi Master提供的性能扩展是类似下图1a2ef51bc944e1e1b694150c94df715d.png

左侧是2台R4类型的4xLarge 规格实例共同提供的性能曲线

中间是1台Instance失效后提供的性能曲线

右侧是在增加一台R4类型的8xLarge规格实例后的性能曲线

Nutanix Era提供Galera Cluster架构

结论放前面:

Era提供数据库高可用集群置备、参数标准化、备份恢复、升级补丁、克隆刷新、自助服务等能力,在2.2版本中提供对于MySQL Galera Cluster架构的支持。

Nutanix平台提供极好的性能支撑核心业务,绝大部分场景不再需要写性能横向扩展时,用多主方式,平时使用一个节点写入,另一个节点同步复制,这样既可以避免写冲突,也可以在故障时实现快速切换。而且对于应用来说透明。

Galera Cluster是由Codership开发的MySQL多主结构集群,这些主节点互为其它节点的从节点。不同于MySQL原生的主从异步复制,Galera采用的是多主同步复制,并针对同步复制过程中,会大概率出现的事务冲突和死锁进行优化,就是复制不基于官方binlog而是Galera复制插件,重写了wsrep api。bbe897b21b769ff11d00e0ed297861c2.png

与传统MySQL Replication对比:0da880a56ad4bf1289008c6992407426.png

其优势为:

- 具有同步复制,故障转移和重新同步的高可用性解决方案

- 没有数据丢失

- 所有服务器均具有最新数据(无从属滞后)

- 读取可扩展性

- “相当好”的写可扩展性

- 跨数据中心的高可用性

其他限制:

- 它仅支持InnoDB或XtraDB存储引擎

- 随着可写母版数量的增加,事务回滚率可能会提高,尤其是在同一数据集(也称为热点)上存在写争用的情况下。 这增加了事务等待时间。

- 慢速/超载的主节点可能会影响Galera群集的性能,因此建议在群集中安装统一的服务器。

建议:

对于写性能不是特别严苛的话,用多主方式,平时使用一个节点写入,另一个节点同步复制,这样既可以避免写冲突,也可以在故障时实现快速切换。而且对于应用来说透明

参考资料:

Nutanix Era

https://www.nutanix.com/products/era

Video - Deep Dive on Amazon Aurora MySQL

https://www.bilibili.com/video/BV1fK

Galera Cluster for MySQL

https://severalnines.com/resources/database-management-tutorials/galera-cluster-mysql-tutorial

Galera Cluster Replication API

https://galeracluster.com/library/documentation/architecture.html

详细介绍mysql各个集群方案:

https://www.cnblogs.com/lgx211/articles/12456859.html

Amazon RDS User Guide:

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/index.html

Amazon Aurora User Guide:

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值