云数据库智能化弹性助力电商业务降本增效

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 本场景介绍阿里云RDS MySQL通过其强大的数据库能力以及生态,适配高流量、高并发的业务场景,通过数据库代理实现无需业务改造的读写分离能力,通过数据库自治服务实现智能化伸缩控制。

云数据库智能化弹性助力电商业务降本增效

1. 添加只读实例,扩展查询能力

添加只读实例,扩展查询能力

本步骤需要在RDS 控制台页面中,为RDS实例添加只读节点。

登录RDS控制台,找到需要添加只读节点的主实例,点击实例ID进入实例详情。

在实例的基本信息页,单击只读实例数量旁的添加或添加只读实例按钮。

开通只读实例,实例配置如下。

计费方式:可选包年包月或按量付费。若您仅为体验该操作,建议选择按量付费。

可用区:默认为主实例所在的地域,选择默认可用区即可。

按需配置CPU与内存资源,存储空间必须大于或者等于原实例空间。

说明:只读实例也为高可用架构,采用主备方式实例网络配置。

选择网络类型、VPC、节点交换机。

勾选服务协议,开通只读实例。

2. 开启主实例读写分离

开启主实例读写分离

本步骤需要在RDS 控制台页面中,通过数据库代理完成无需业务改造的RDS MySQL读写分离能力。

进入RDS MySQL主实例的实例信息详情页。

在数据库代理 > 代理终端(原读写分离)页签下,单击设置代理终端。

在弹窗中设置相关参数。

读写属性:读写:自动将写请求路由到主节点,读请求到只读节点。

只读:不接受任何写请求,只能对读请求进行路由。

配置完成后,在数据库代理页面查看当前查询请求负载均衡拓扑图。

在数据库代理页面查看用于连接应用的数据库代理的地址。

3. 开启DAS自治服务和自动性能扩展

开启DAS自治服务和自动性能扩展

您需要购买DAS专业版,并将RDS MySQL实例添加至DAS专业版服务中。之后,您可为该RDS MySQL实例开启自动性能扩展功能,实现资源智能化的扩容和缩容。

说明:

为了防止智能化自动扩缩失败,生产中请在账户中留有一定余额。

RDS自动扩展期间会有5-30s闪断。

为了安全起见,自动扩展后,需要自主进行回缩操作(可在设置自动扩展时,同步设置消息订阅通知),自动回缩功能即将上线。

,根据界面提示选择对应参数,购买DAS专业版。DAS专业版购买页面登录

左侧导航栏,选择DAS专业版管理,单击页面右上角新增实例。DAS控制台

在选择实例的搜索框里输入需要使用DAS专业版管理的RDS实例ID,勾选已查询出来的实例,添加至右侧区域。

单击确定后页面会提示新增成功,可到已使用实例列表页面查看。

,点击实例ID进入实例详情页。RDS 控制台登录

在左侧导航栏中,单击自治服务>性能趋势。

单击右侧自治功能开关。

在自治中心开关对话框中,将自动性能扩展设置成开启状态,并配置其他参数,设置智能资源扩缩监控条件。

4. 业务连接指向代理地址

在业务的应用系统中,配置数据库连接配置,将连接地址替换为步骤二中获得的数据库代理地址。无需业务改造,阿里云自动完成数据库请求的读写分离。

5. 模拟压测

模拟压测

本步骤需要在ECS控制台中,登录ECS实例,安装压测工具SysBench,并使用该工具模拟流量注入。

开通ECS服务器,要求配置如下:

操作系统镜像为CentOS。版本建议7.x。

其余配置不影响本次体验,选择默认即可。

将ECS的IP地址添加至RDS MySQL的白名单中。

登录ECS。

1) 登录ECS控制台,选择实例,点击开通的实例ID名称。

2) 单击远程连接。

3) 可选择Workbench远程连接方式,单击立即登录。

在ECS上执行如下命令,安装压测工具SysBench。

1) 执行如下命令下载SysBench。

yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql 
git clone https://github.com/akopytov/sysbench.git

2) 进入SysBench目录。

cd sysbench

3) 切换到SysBench 1.0.18版本。

git checkout 1.0.18

4) 运行autogen.sh。

./autogen.sh

5) 编译。

./configure --prefix=/usr --mandir=/usr/share/man
make
make install

执行如下命令准备压测数据。

说明:请事先在RDS MySQL中创建一个名为dbfortest的数据库。

sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=dbfortest --table_size=25000 --tables=250 --events=0 --time=600  oltp_read_write prepare

需要设置的参数说明如下:

参数

说明

mysql-host

RDS MySQL实例连接地址。可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。可进入实例的数据库连接页面获取。

mysql-user

RDS MySQL实例账号。

mysql-password

RDS MySQL实例账号对应的密码。

mysql-db

压测数据要注入的数据库名称,本示例中即为RDS MySQL中预先创建的dbfortest数据库。

table_size

要准备的表的大小,可按照示例代码中的25000进行设置。

tables

要准备的表的数量,可按照示例代码中的250进行设置。

events

测试请求数量,按照示例代码中的0进行设置。

time

测试时间,可按照示例代码中的600进行设置。

该命令会自动创建N个名为sbtest1、sbtest2……sbtestN的表(N为tables参数指定的表数量),其表结构如下,供您了解:

CREATE TABLE `sbtestN` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `k` int(11) NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_100` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=25001 DEFAULT CHARSET=utf8

执行如下命令,运行压测程序。

sysbench --db-driver=mysql  --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=dbfortest --table_size=25000 --tables=250 --events=0 --time=600   --threads=XXX --percentile=95 --report-interval=1 oltp_read_write run

需要设置的参数说明如下:

参数

说明

mysql-host

RDS MySQL实例连接地址。可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。可进入实例的数据库连接页面获取。

mysql-user

RDS MySQL实例账号。

mysql-password

RDS MySQL实例账号对应的密码。

threads

测试线程数。可设置为32、64、128、256、512等,可根据实际的实例规格和环境时延进行尝试。

进入RDS MySQL实例的监控与报警页面,观察资源使用情况,等待触发条件达成。

6. 智能化弹性效果评估

智能化弹性效果评估

本步骤需要在RDS 控制台DAS控制台中评估RDS MySQL的弹性效果。

,打开实例基本信息页,查看实例规格升级结果。RDS 控制台登录

查看弹性动作消息通知。

1) 登录DAS控制台,在左侧导航栏中,单击实例监控。

2) 选择对应数据库实例。

3) 在左侧导航栏中,单击自治中心。

4) 选择类型为弹性伸缩事件。

5) 查看事件具体内容,关注如下四个结果:

原规格

推荐规格

执行状态

相关信息

至此,您通过RDS MySQL以及DAS的数据库产品组合,已经实现了数据库的弹性智能化,可以帮助您更好的应对高并发、高负载下的潮汐,以及实现IT资源成本最优利用率。

实验链接:https://developer.aliyun.com/adc/scenario/228c72f5aaca41099f82ab1e7cd2b6dd

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
存储 SQL 数据库
数据库设计案例:电商系统数据库设计实践
数据库设计案例:电商系统数据库设计实践
514 1
|
15天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云瑶池在2024云栖大会上重磅发布由Data+AI驱动的多模数据管理平台DMS:OneMeta+OneOps,通过统一、开放、多模的元数据服务实现跨环境、跨引擎、跨实例的统一治理,可支持高达40+种数据源,实现自建、他云数据源的无缝对接,助力业务决策效率提升10倍。
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云数据库重磅升级!元数据服务OneMeta + OneOps统一管理多模态数据
|
3月前
|
开发框架 前端开发 JavaScript
电商商品数据库的设计和功能界面的处理
电商商品数据库的设计和功能界面的处理
|
5月前
|
JavaScript Java 关系型数据库
卤菜销售|基于SSM+vue的智能卤菜销售平台的设计与实现(源码+数据库+文档)
卤菜销售|基于SSM+vue的智能卤菜销售平台的设计与实现(源码+数据库+文档)
74 15
|
5月前
|
小程序 JavaScript Java
小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)
小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)
51 0
小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)
|
5月前
|
人工智能 关系型数据库 分布式数据库
【PolarDB 开源】PolarDB 与 AI 融合:智能数据库管理与预测性维护
【5月更文挑战第28天】PolarDB结合AI,开创数据库管理新纪元,实现智能优化、资源预测与分配、预测性维护。通过AI算法提升查询效率,动态调整资源,提前发现故障,增强安全。示例代码显示如何用AI预测查询时间。面对挑战,持续学习改进,未来二者融合将为数据库管理带来更多创新与竞争力。
189 0
|
5月前
|
JavaScript Java 关系型数据库
智能消费记账|基于SSM+vue的大学生智能消费记账系统(源码+数据库+文档)
智能消费记账|基于SSM+vue的大学生智能消费记账系统(源码+数据库+文档)
43 0
|
5月前
|
安全 JavaScript Java
电商平台|基于SprinBoot+vue的电商平台设计与实现(源码+数据库+文档)
电商平台|基于SprinBoot+vue的电商平台设计与实现(源码+数据库+文档)
40 0
|
5月前
|
小程序 JavaScript Java
社区服务|基于SSM的智能社区服务小程序的系统设计与实现(源码+数据库+文档)
社区服务|基于SSM的智能社区服务小程序的系统设计与实现(源码+数据库+文档)
78 0

相关产品

  • 云数据库 RDS