本文介绍RDS MySQL集群系列实例的架构、优势和应用场景。
集群系列介绍
RDS MySQL集群系列实例采用计算与存储分离、一主多备的架构,支持自动故障切换、任意备节点可切换为主节点、备节点可读、按需增删节点、多可用区容灾、节点粒度的监控、集群节点拓扑管理等功能,同时还可启用MGR保障RPO=0,相比自建数据库,更加经济、灵活、可靠。
RDS MySQL各系列支持的技术指标如下表所示。
指标 | 基础系列 | 高可用系列 | 集群系列 |
节点数 | 1个 | 2个(默认) 说明 高可用系列默认一主一备两个节点,如需更多节点可创建只读实例。 | 2~9个 说明 创建集群系列实例时,默认创建一主二备共3个节点,也可以创建一主一备共2个节点。实例创建完成后,可通过增加节点,将备节点数量提升到最多8个,也就是一主八备共9个节点。 |
备节点是否可读 | 不涉及 | 否 | 是 |
地址类型 | 读写地址 | 读写地址 |
|
复制模式 | 无 | 异步、半同步 | 异步、半同步、组复制 |
最大容忍不可用节点数 | 0 | 1 | n-1,n为集群系列实例包含的节点数 |
可用区数量 | 1 | 小于或等于2 | 小于或等于集群系列实例包含的节点数 |
架构
RDS MySQL 5.7、8.0支持集群系列,支持一主多备的高可用性部署。架构如下图所示。
优势
更经济
RDS MySQL集群系列实例的备节点可读,无需再额外创建只读实例,可快速实现线性读能力扩展,大幅度缩减了资源开销和资源闲置成本。相比高可用系列实例需要增加只读实例,集群系列最高可节省40%的成本。
可以通过以下两种方式访问RDS MySQL集群系列实例的备节点:
通过集群只读地址访问:RDS MySQL集群系列实例可免费创建集群只读地址,支持将多个备节点添加到只读地址,可通过配置只读地址的负载比例,实现备节点负载均衡。详情请参见查看和管理实例连接地址和端口。
通过数据库代理访问:RDS MySQL集群系列实例支持开通数据库代理服务,实现主备节点的读写分离。相比集群只读地址,数据库代理提供了更多高阶的能力,包括自动读写分离、连接保持、连接池、延迟阈值、事务拆分等。详情请参见开通数据库代理、什么是数据库代理。
说明2024年06月25日起,新建RDS MySQL集群系列主实例会默认开通通用型数据库代理(通用型数据库代理免费)。详情请参见数据库代理费用说明、什么是数据库代理。
如果您对数据库代理稳定性有更高的要求,可以将通用型代理变配为独享型代理,详情请参见变更代理类型和代理数量、通用型和独享型代理。
您可以随时关闭数据库独享代理服务,详情请参见关闭数据库代理。
更灵活
节点的灵活部署
相比基础系列和高可用系列的固定节点形态,RDS MySQL集群系列实例实现了节点数可变的拓扑管理。可在创建实例后,根据业务需求灵活增删节点,实现更优的性价比。详情请参见增加实例节点、删除实例节点。
节点粒度的监控
RDS MySQL集群系列实例提供了节点粒度的监控数据,用户可以直观地看到每个节点的监控情况。
更可靠
多可用区容灾
相比高可用系列一主一备两个可用区容灾,RDS MySQL集群系列实例的每个备节点均可参与容灾切换,建议将每个节点配置在不同的可用区,实现多可用区容灾。
数据强一致性
三个节点以上的集群系列,支持使用组复制(MySQL Group Replication,MGR)。组复制基于分布式一致性协议(Paxos),事务在主节点提交之前,会将事务的数据发送到各个备节点上,确保超过半数备节点收到事务的数据后,事务才能在主节点提交。相较于半同步或异步复制,组复制提供数据强一致性,数据安全性更高。
可靠性更强的备节点
阿里云技术团队通过云原生技术对RDS进行了一系列深度优化,进一步提升了RDS MySQL集群系列实例备节点的可靠性:
重构RDS高可用系统,将备节点的故障发现时长从分钟级优化到秒级。
基于EBS(Elastic Block Storage)提供的秒级快照能力,将数据恢复耗时从几十分钟缩短到1分钟,从而实现了99%的场景下,备节点从故障发生到节点恢复不超过10分钟。
应用场景
适用于有大量流量高峰读请求和数据智能分析需求的大中型企业的生产数据库场景,如互联网新零售行业、汽车制造行业、教育行业、企业大型ERP系统等。
MySQL集群系列相关内容
类型 | 内容 |
集群系列配置 | |
其他系列升级为集群系列 | |
其他实例迁移到集群系列实例 | |
组复制 | |
数据库代理 |
购买实例
如何购买集群系列实例请参见创建RDS MySQL实例。