「助力降本增效」RDS MySQL云盘版只读基础版发布及其最佳实践

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 阿里云RDS MySQL云盘版只读在原来 "高可用只读" 的基础上推出了"基础版只读"。尽管"基础版只读"在价格上比"高可用版只读"便宜了40%左右,两者对于故障的容错能力、异常的应对能力方面还是有差异的。本文通过两款产品的差异性对比,对"基础版只读"的最佳实践进行分享。

引子


阿里云RDS MySQL云盘版只读在原来 "高可用只读" 的基础上推出了"基础版只读"。尽管"基础版只读"在价格上比"高可用版只读"便宜了40%左右,两者对于故障的容错能力、异常的应对能力方面还是有差异的。本文通过两款产品的差异性对比,对"基础版只读"的最佳实践进行分享。


基础版只读 vs 高可用只读


高可用只读架构图


高可用只读架构图如下,通过只读备节点来保证SLA, 遇到异常情况可以通过HA组件切换到备库快速恢复业务。

image.png


针对故障场景,能够快速的failover,应用无需做任何改造。

异常场景

HA组件应对措施

只读主库hang

切换备库

只读主库所在主机异常

切换备库

只读主库复制中断

切换备库

只读主库复制延迟

切换备库

只读备库hang

切换备库

只读备库所在主机异常

迁移

只读备库复制中断

迁移

只读备库复制延迟

迁移


基础版只读架构图


基础版只读架构图如下。由于没有备库,遇到异常无法保证SLA, 用户可以通过设置代理或者通过JDBC自动Failover来自动把流量切换到其他实例来避免业务受到影响。

image.png



异常场景

HA组件应对措施

只读主库hang

重启

只读主库所在主机异常

迁移

只读复制中断

迁移

只读复制延迟

迁移


小结


我们针对两款产品做一个大致对比介绍:


基础版只读

高可用只读

购买前提

主实例云盘高可用版

主实例云盘高可用版 or 本地高可用版

链接地址

1个

1个

实际购买节点数

1个

2个

实例规格变配

业务闪断

业务闪断

高压力情况*

无应对

有应对

异常情况*

HA自动切换

节点异常*

无SLA

60秒SLA

节点自愈能力

有,客户无需关心


说明:

  • 高压力情况是指数据库CPU、内存打满情况下,RDS MySQL只读可以自动failover,进行切换;
  • 异常情况包含但不限于MySQL复制中断、复制延迟、硬件故障等情况;
  • 节点异常主要是指在提供服务只读出现异常的情况下,HA的切换时间;


基础版只读最佳实践


如何购买

用户首先需要创建高可用主实例,然后在实例详情里面找到“只读实例”菜单,点击“添加”

image.png


基于数据库代理做高可用


数据库代理可以通过权重来控制各个实例的业务流量,当某个只读实例不可用时,可自动将异常实例剔除并将流量切换到其他正常实例, 同时应用无需感知实例的变化。用户可以通过主实例详情界面的“数据库代理”菜单进行开通。

image.png


开通成功后, 点击“设置代理终端”进行实例的添加和权重的设置。

image.png


设置完代理终端后, 切换到“代理服务”菜单可以获取到数据库代理的连接地址信息。

image.png


基于JDBC的高可用


JDBC链接数据库的几种模式


如果您的应用是Java,那么JDBC驱动可以做一些简单的自动failover。众所周知,JDBC链接数据库有4种模式:


Single模式

平时默认使用直连方式,即:ip:port方式。


Failover模式

  • 该方式就是当一个数据库宕的情况下,failover到你配置的另外一个数据库。其中还有一个fallback功能,这个是指回切到老数据库;
  • 针对fallback功能需要做一点说明:默认参数配置情况下,当老主库拉起来以后,连接就会立马连接到新主库,这个需要改配置;


Replication模式

  • 标准的主备模式,既主库挂了,可以自动连到备库;前提是在JDBC链接字符串里配置多个数据库;但是需要注意的地方:
  • 默认新创建的数据库连接是Read only,需要代码显示设置;
  • 默认会对读做“round robin”;
  • 按照文档进行了配置,并未对Master挂的情况下做failover。


LoadBalancing模式

  • 负载均衡有一个特点,他的轮询特点可以是“random”或"bestResponseTime"来做决策。这个今天不是本文重点,不做过多阐述;


基于Failover模式的一些提示

基于以上4种模式,综合来看Failover模式比较适合RDS MySQL基础版只读。


数据库链接参数调优

以下JDBC链接参数需要额外关注:

  • autoReconnect:自动重连
  • failOverReadOnly:切换过去以后,是否ReadOnly
  • secondsBeforeRetryMaster:当master挂了以后,多久重试主库
  • queriesBeforeRetryMaster:当master挂了以后,多少次query以后重试主库
  • connectTimeout: 创建连接超时时间
  • socketTimeout:SQL执行超时时间


范例:

jdbc:mysql://ip1:port1,ip2:port2/dbname?autoReconnect=true&failOverReadOnly=false&secondsBeforeRetryMaster=0&queriesBeforeRetryMaster=0&connectTimeout=1000&socketTimeout=3000


测试验证

  • 当数据库链接字符串中第一地址数据库("ip1:port1") Crash以后,能够自动failover到第二地址数据库("ip2:port2");
  • 当第一地址数据库起来以后,配置"secondsBeforeRetryMaster","queriesBeforeRetryMaster"为0后,连接不会自动飘回来,除非kill掉老连接;这个非常重要,replication不用的原因就在这里;


后记

通过本文我们大致介绍了基础版只读的主要特性以及与高可用只读的差异,希望对您有一定的帮助。未来RDS只读会在更多的地方进行产品能力提升。


作者信息

马佳,花名涤余,来自RDS MySQL产品部,主要负责RDS MySQL管控研发相关工作。如果您对MySQL基础版只读有任何产品或者技术疑问,欢迎来信咨询:vogts.wangt@alibaba-inc.com

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
5月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1059 152
|
5月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
826 156
|
6月前
|
存储 SQL 关系型数据库
RDS DuckDB技术解析一:当 MySQL遇见列式存储引擎
RDS MySQL DuckDB分析实例以​列式存储与向量化计算​为核心,实现​复杂分析查询性能百倍跃升​,为企业在海量数据规模场景下提供​实时分析能力​,加速企业数据驱动型决策效能。​​
|
9月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
5月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
5月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
5月前
|
关系型数据库 MySQL 数据库
云时代MySQL:RDS与自建数据库的抉择
在云计算时代,选择合适的数据库部署方案至关重要。本文深入对比了AWS RDS与自建MySQL的优劣,帮助您在控制权、运维成本和业务敏捷性之间找到最佳平衡点。内容涵盖核心概念、功能特性、成本模型、安全性、性能优化、高可用方案及迁移策略,为您提供全面的决策参考。
|
6月前
|
关系型数据库 MySQL 程序员
从自建MySQL到阿里云RDS:程序员的数据库减负革命
如果你正在为自建MySQL数据库的高成本运维发愁,为凌晨三点的主从同步故障告警而崩溃,为开发团队频繁索要新测试库的要求感到窒息——是时候开启一场数据库的自我救赎了。 程序员更需构建"技术敏锐度+工程落地能力+跨域协作"的三维竞争力,通过创建技术组合形成差异化优势。企业应建立持续学习机制,提供AI沙盒环境促进技术转化。
|
8月前
|
存储 关系型数据库 数据库
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
9月前
|
存储 关系型数据库 MySQL
【免费动手教程上线】阿里云RDS MySQL推出大容量高性能存储:高性能本地盘(最高16TB存储空间)、高性能云盘(最高64TB存储空间)
阿里云RDS MySQL提供高性能本地盘与高性能云盘等存储方案,满足用户大容量、低延迟需求。高性能本地盘单盘最大16TB,IO延时微秒级;高性能云盘兼容ESSD特性,支持IO性能突发、BPE及16K原子写等能力。此外,阿里云还提供免费动手体验教程,帮助用户直观感受云数据库 RDS 存储性能表现。

热门文章

最新文章

推荐镜像

更多