BpFile(id=224, bpId=23, name=互联网行业高弹性系统构建, author=null, keyword=应用弹性,数据库弹性,redis,弹性伸缩, description=在互联网行业的业务发展中,很多业务具有突发性特点。
例如互联网电商的秒杀、促销等活动,这类业务的特点是时间固定,但访问量不固定。除了提前升级配置之外,客户往往希望系统本身也能有自动弹性伸缩的能力。
对于互联网教育的场景,由于存在放假和工作日的区别,系统也需要有一定的弹性伸缩能力去应对高出平时几倍的压力,等访问减少时,业务系统能释放冗余的资源达到节约成本的目标。
典型场景和需求:
业务系统波动大,以互联网行业为典型代表;
业务系统和数据库系统都要能实现弹性伸缩;
系统可用性高,弹性收缩用户感知小;
支持手工快速提升系统和数据库性能。, position=null, ossUrl=bp-INH8J0ZH1Z5JKLVN.pdf, tags=null, level=null, tagList=[Tag(id=72, name=null, type=null, description=null, tagName=网站搭建, status=null, pdfDescription=null)], products=null, productList=[Product(id=40, name=null, description=null, link=https://www.aliyun.com/product/vpc
, productName=专有网络 VPC, logo=null, code=null), Product(id=41, name=null, description=null, link=https://www.aliyun.com/product/ecs
, productName=云服务器ECS, logo=null, code=null), Product(id=42, name=null, description=null, link=https://www.aliyun.com/product/rds/mysql
, productName=云数据库RDS MySQL 版, logo=null, code=null), Product(id=44, name=null, description=null, link=https://www.aliyun.com/product/slb
, productName=负载均衡 SLB, logo=null, code=null), Product(id=45, name=null, description=null, link=https://www.aliyun.com/product/eip
, productName=弹性公网IP, logo=null, code=null), Product(id=54, name=null, description=null, link=https://www.aliyun.com/product/kvstore
, productName=云数据库 Redis 版, logo=null, code=null), Product(id=115, name=null, description=null, link=https://www.aliyun.com/product/ecs/ess
, productName=弹性伸缩, logo=null, code=null), Product(id=151, name=null, description=null, link=https://www.aliyun.com/product/developerservices/cadt, productName=云速搭CADT, logo=null, code=null)], hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
在互联网行业的业务发展中,很多业务具有突发性特点。
- 例如互联网电商的秒杀、促销等活动,这类业务的特点是时间固定,但访问量不固定。除了提前升级配置之外,客户往往希望系统本身也能有自动弹性伸缩的能力。
- 对于互联网教育的场景,由于存在放假和工作日的区别,系统也需要有一定的弹性伸缩能力去应对高出平时几倍的压力,等访问减少时,业务系统能释放冗余的资源达到节约成本的目标。
典型场景和需求:
- 业务系统波动大,以互联网行业为典型代表;
- 业务系统和数据库系统都要能实现弹性伸缩;
- 系统可用性高,弹性收缩用户感知小;
- 支持手工快速提升系统和数据库性能。
方案优势:
- 应用弹性:通过配置合理的弹性伸缩配置,业务高峰期到来业务压力上涨时自动增加ECS实例保障业务系统平稳运行。对于可预见的快速业务上涨,配置定时任务或者通过手动执行伸缩规则的方式可以预先备齐ECS资源。业务低谷期自动释放多余ECS资源节约成本。
, templateId=ZG3OE2WPL95QK8NK, freetry=null, visitTime=null, visitCount=16692, video_url=https://yqh.aliyun.com/live/detail/22351, buttonName=null, buttonUrl=null, targetId=ZG3OE2WPL95QK8NK, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
互联网行业高弹性系统构建 最佳实践
业务架构 背景描述
在互联网行业的业务发展中,很多业务具
有突发性特点:
例如互联网电商的秒杀、促销等活
动,这类业务的特点是时间固定,但
访问量不固定。除了提前升级配置之
外,客户往往希望系统本身也能有自
动弹性伸缩的能力。
对于互联网教育的场景,由于存在放
假和工作日的区别,系统也需要有一
定的弹性伸缩能力去应对高出平时几
倍的压力,等访问减少时,业务系统
能释放冗余的资源达到节约成本的目
标。
方案优势
应用弹性:通过配置合理的弹性伸缩
配置,业务高峰期到来业务压力上涨
产品列表
时自动增加 ECS实例保障业务系统平
稳运行。对于可预见的快速业务上
专有网络 VPC
涨,配置定时任务或者通过手动执行
弹性公网 EIP
伸缩规则的方式可以预先备齐 ECS资
云服务器 ECS
源。业务低谷期自动释放多余 ECS资
负载均衡 SLB
源节约成本。
云数据库 RDS
应用高可用性:通过 ESS收缩配置设
云数据库 Redis
置均衡分布策略,在主可用区宕机
弹性伸缩 Auto Scaling
时,ESS会在备可用区开出相同资
云架构设计工具 CADT
源,保障业务平稳运行。
RDS、Redis、SLB高可用性:通过
最佳实践频道 阿里云最佳实践技术分享群
多可用区的主备策略保障跨可用区自
动容灾。
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
互联网行业高弹性系统构建
最佳实践
文档版本:20210210
文档版本:20150122(发布日期) II
3互联网行业高弹性系统构建 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 互联网行业高弹性系统构建最佳实践
文档编号 23
文档版本 V2.0
版本日期 2021-02-10
文档状态 对外发布
制作人 七凌、明中
审阅人 -
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019-03-18 明中 - 创建
V1.1 2019-04-15 明中 - redis产品改版,调整购买页面
截图。
V2.0 2020-02-10 七凌 - 文档全版更新,增强 CADT
文档版本:20210210 I
4互联网行业高弹性系统构建 前言
前言
产品介绍
专有网络 VPC(Virtual Private Cloud):帮助您基于阿里云构建出一个隔离的网络
环境,并可以自定义 IP 地址范围、网段、路由表和网关等;此外,也可以通过专
线/VPN/GRE等连接方式实现云上 VPC与传统 IDC的互联,构建混合云业务。更
多信息,请参见 https://www.aliyun.com/product/vpc
弹性公网 IP:独立的公网 IP资源,可以与阿里云专有网络 VPC类型的 ECS、
NAT网关、ENI网卡、私网负载均衡 SLB绑定,并可以动态解绑,实现公网 IP与
ECS、NAT网关、ENI网卡、SLB的解耦,满足灵活管理的要求。更多信息,请
参见 https://www.aliyun.com/product/eip
云服务器 ECS(Elastic Compute Service):是一种简单高效、处理能力可弹性伸
缩的计算服务。帮助您构建更稳定、安全的应用,提升运维效率,降低 IT成本,
使 您 更 专 注 于 核 心 业 务 创 新 。 更 多 信 息 , 请 参 见
https://www.aliyun.com/product/ecs
负载均衡 SLB(Server Load Balancer):是对多台云服务器进行流量分发的负载
均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除
单点故障提升应用系统的可用性。更多信息,请参见
云数据库 RDS(Relational Database Service):关系型数据库 RDS是一种稳定
可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和 SSD盘高性
能存储,RDS支持 MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus
Advanced Server,高度兼容 Oracle数据库)和 MariaDB TX引擎,并且提供了
容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦
恼。更多信息,请参见 https://www.aliyun.com/product/rds/mysql
云数据库 Redis版:兼容开源 Redis协议标准、提供内存加硬盘混合存储的数据
库服务,基于高可靠双机热备架构及可平滑扩展的集群架构,可充分满足高吞吐、
低 延 迟 及 弹 性 变 配 的 业 务 需 求 。 更 多 信 息 , 请 参 见
https://www.aliyun.com/product/kvstore
弹性伸缩(Auto Scaling):使用弹性伸缩(Auto Scaling),您可以根据业务需求
和策略设置伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算能力,
文档版本:20210210 III
5互联网行业高弹性系统构建 前言
在业务需求下降时自动减少 ECS实例以节约成本。弹性伸缩不仅适合业务量不断
波动的应用程序,同时也适合业务量稳定的应用程序。更多信息,请参见
https://www.aliyun.com/product/ecs/ess
云架构设计工具 CADT:是一款为上云应用提供自助式云架构管理的产品,显著
地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,
同时也支持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。
用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管
理。更多信息,请参见 https://www.aliyun.com/product/developerservices/cadt
文档版本:20210210 IV
6互联网行业高弹性系统构建 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
前言 ............................................................................................................................................................................ III
目录 ............................................................................................................................................................................. V
最佳实践概述 ............................................................................................................................................................. 1
前置条件 ..................................................................................................................................................................... 3
1. 云上环境部署-CADT ........................................................................................................................................... 4
2. 云上环境部署-控制台 ........................................................................................................................................ 9
2.1. 部署云上VPC网络 ............................................................................................................................. 9
2.2. 申请弹性公网IP ............................................................................................................................... 11
2.3. 创建云服务器ECS ............................................................................................................................. 13
2.3.1. 创建安全组 ............................................................................................................................... 13
2.3.2. 创建ECS实例 ............................................................................................................................ 14
2.4. 部署Redis环境 ................................................................................................................................. 18
2.4.1. 创建Redis实例 ......................................................................................................................... 18
2.4.2. 配置白名单 ............................................................................................................................... 21
2.5. 部署RDS服务 ................................................................................................................................... 22
2.5.1. 创建RDS实例 ........................................................................................................................... 22
2.5.2. 配置白名单 ............................................................................................................................... 24
2.5.3. 创建账号和数据库 ................................................................................................................... 26
3. 部署业务应用 ................................................................................................................................................... 28
3.1. 安装基本软件程序 ........................................................................................................................... 28
3.2. 配置访问云数据库RDS .................................................................................................................... 31
3.3. 配置访问云数据库Redis .................................................................................................................. 35
3.4. 登录并查看缓存写入云Redis .......................................................................................................... 39
3.5. 登录并查看数据写入RDS ................................................................................................................ 41
4. 部署SLB环境 .................................................................................................................................................... 44
4.1. 创建SLB实例 .................................................................................................................................... 44
4.2. 绑定EIP ............................................................................................................................................. 46
4.3. 配置并监听后端ECS ......................................................................................................................... 47
4.4. 绑定域名 ........................................................................................................................................... 51
5. 创建应用镜像 ................................................................................................................................................... 55
6. 配置弹性伸缩 ................................................................................................................................................... 57
6.1. 创建伸缩组 ....................................................................................................................................... 57
6.2. 创建伸缩配置 ................................................................................................................................... 60
6.3. 创建伸缩规则 ................................................................................................................................... 65
6.4. 创建伸缩任务 ................................................................................................................................... 67
6.5. 访问登录和弹性伸缩验证 ............................................................................................................... 69
6.5.1. 访问登录验证 ........................................................................................................................... 69
6.5.2. 验证系统弹性伸缩 ................................................................................................................... 71
文档版本:20210210 V
7互联网行业高弹性系统构建 最佳实践概述
最佳实践概述
方案架构
本实践基于如下图所示的技术架构和主要流程。
应用场景
在互联网行业的业务发展中,很多业务具有突发性特点。
例如互联网电商的秒杀、促销等活动,这类业务的特点是时间固定,但访问量不固
文档版本:20210210 1
8互联网行业高弹性系统构建 最佳实践概述
定。除了提前升级配置之外,客户往往希望系统本身也能有自动弹性伸缩的能力。
对于互联网教育的场景,由于存在放假和工作日的区别,系统也需要有一定的弹
性伸缩能力去应对高出平时几倍的压力,等访问减少时,业务系统能释放冗余的
资源达到节约成本的目标。
典型场景和需求:
业务系统波动大,以互联网行业为典型代表;
业务系统和数据库系统都要能实现弹性伸缩;
系统可用性高,弹性收缩用户感知小;
支持手工快速提升系统和数据库性能。
方案优势
应用弹性:通过配置合理的弹性伸缩配置,业务高峰期到来业务压力上涨时自动
增加 ECS实例保障业务系统平稳运行。对于可预见的快速业务上涨,配置定时任
务或者通过手动执行伸缩规则的方式可以预先备齐 ECS资源。业务低谷期自动释
放多余 ECS资源节约成本。
应用高可用性:通过 ESS收缩配置设置均衡分布策略,在主可用区宕机时,ESS
会在备可用区开出相同资源,保障业务平稳运行。
RDS、Redis、SLB高可用性:通过多可用区的主备策略保障跨可用区自动容灾。
文档版本:20210210 2