干货 | 京东云弹性伸缩功能实践

弹性伸缩AS(Auto Scaling)是一项 Web 服务,能够根据您的业务需求和策略,自动调整云主机计算资源,可帮助确保您拥有适量的云主机实例来处理您的应用程序负载。前端

使用 AS 进行容量调整,您只需事先设置好扩容条件及缩容条件,AS 会在达到条件时自动增长/减小使用的服务器数量以维护性能:web

  • 在业务需求增加时无缝地增长主机实例。后端

  • 在业务需求降低时自动减小主机实例以节约成本centos

产品简介

弹性伸缩是一项按需自动调整云主机规模的服务,可以及时有效地应对客户业务出现剧烈波动的情形。根据客户不一样业务特色,采用不一样的伸缩模式,在下降客户业务成本的同时提升业务能力,充分体现了云计算平台弹性灵活的特色。服务器

名词术语

伸缩组伸缩组是遵循相同规则、面向同一场景的云主机实例的集合。伸缩组定义了组内云主机实例数的最大值、最小值及其相关联的负载均衡实例等属性。网络

启动配置启动配置是自动建立云服务器的模版,其中包括镜像、云服务器实例规格、系统盘及数据盘类型和容量、密钥等。建立伸缩组时必须指定启动配置,启动配置一经建立后其属性将不能编辑。负载均衡

伸缩策略即执行伸缩动做的条件。触发条件能够是云监控的报警或时间,动做能够是移出或加入云主机。dom

伸缩策略有如下两种:分布式

  • 定时伸缩策略 到达某个固定时间点,自动增长或减小云主机实例,支持周期性重复。工具

  • 告警伸缩 基于云监控指标(如CPU、内存、网络流量等),自动增长或减小云主机实例。

伸缩活动伸缩策略成功触发后,就会产生一条伸缩活动。伸缩活动主要用来描述伸缩组内云主机实例的变化状况。

冷却时间冷却时间是指在同一个伸缩组内,一个伸缩活动执行完成后的一段锁定时间。冷却时间可指定范围为 0-86400(秒)。

 

使用场景

Web应用服务web服务业务逻辑层扩缩容。好比电商网站、视频网站、在线教育等,客户端的请求经过负载均衡到达应用服务器,当业务访问量大幅快速波动时,弹性伸缩服务能够根据请求量及负载弹性扩缩应用服务器的数量。

高性能计算:服务的计算节点扩缩容。分布式大数据的计算节点、数据处理等后端计算集群,根据计算量大小实时调整集群服务器数量,或者根据集群预约好的脚本执行时间来设定周期性定时任务,在脚本执行以前自动建立一批主机,保证高效的运算业务。

数据收集检索:时效性业务扩缩容。用于发送请求、数据收集、检索等业务服务器集群的部署,可经过弹性伸缩服务快速完成扩缩任务供业务使用。

 

操做实践

一、操做流程:

测试AZ华北-北京-可用区C

模拟场景2台Apache服务器组成Web服务集群,前端经过LB作流量的分发;配置弹性伸缩策略,实现某台服务器CPU使用率>70%时自动扩容1台服务器,平均CPU使用率<40%时自动减小1台服务器。

 

二、测试步骤:

第一步:登陆控制台
使用已注册的京东云帐号登陆控制台

第二步:建立启动配置
在控制台左侧功能导航栏选择“弹性计算”->“弹性伸缩”->“启动配置”->“建立”

设置配置名称,在“镜像”中选择“私有镜像”(“私有镜像”是经过建立好的云主机并部署完应用及完成配置制做的云主机镜像);配置的规格能够根据实际状况调整(CPU,内存,存储,带宽);建立完成后点击保存。

第三步:建立配置伸缩组
初始实例数设定后系统会自动根据设定的数量从启动配置自动建立相应数量的云主机可支持跨可用区建立,达到容灾的效果;
负载均衡设置绑定已建立的LB实例并选择对应的虚拟服务器作及配置好监听端口。

第四步:绑定云主机

按需添加云主机,数量必须在伸缩组设定的最小和最大实例数之间

第五步:添加告警策略
建立“弹性伸”策略和“弹性缩”策略

支持定时任务和重复任务,增长和减小的设置须要配对使用。

第六步:添加告警联系人

“帐号管理”->“联系人管理”中的联系人和联系组信息会自动被识别,添加相关组和联系人后,伸缩组发生启动,终止,没法启动,没法终止时会有邮件和短信及时进行通知

 

三、验证试验结果:

用原生centos自带工具,方法是经过压缩随机数据并将结果发送到 /dev/null
在第一台Apache服务器运行以下命令:
cat /dev/urandom | gzip -9 > /dev/null
CPU使用率到达99%。

成功弹出一台云主机;
使用Ctrl+C结束加压命令后,CPU使用率下降;观察伸缩活动的日志,发现已自动移出新增的云主机,成功移除。

 

点击"京东云"了解更多详情