+86 135 410 16684Mon. - Fri. 10:00-22:00

电商秒杀解决方案之-阿里弹性伸缩服务ESS使用教程

电商秒杀解决方案之-阿里弹性伸缩服务ESS使用教程

电商秒杀解决方案之-阿里弹性伸缩服务ESS使用教程

阿里弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,动调整其弹性计算服务器ECS)的管理服务。其能够在业务增长时自动增加ECS实例,并在业务下降时自动减少ECS实例。
收到ESS开始公测的邀请,马上怕不急待的申请了公测资格,开始体验传说中的ESS云服务了。因为笔者一直在全面的测试阿里云产品,在做压测过程中经常需要动态的调整ECS云主机的数量以确保能够给RDS提供合适的负载压力。在此之前,笔者都是靠手动完成ECS数量的增加或者删除的。现在,就让我们先用为爽吧!
第一步,当然是要开通ESS服务,请移步
http://www.aliyun.com/product/ess
1502958858-7879-139998637512-67905f99446b72c
开通很顺利,可以进入ESS控制台了
1502958857-5741-139998637512-a4e5f778279bbad
在此先把云郎已开通的需要叠加ESS服务的资源给大家介绍下:
一个SLB实例,将HTTP请求按照会话保持的方式分发到后台ECS服务器。
两台ECS实例,安装了wordpress。
一个RDS实例,为多个wordpress应用服务器提供共享数据库服务。
1502958857-6908-139998637512-1d886db27d29833
在整个测试系统的部署位置如下图红色虚线内所示。
1502958857-1651-139998637512-a104b3bb1029f3b
红色虚线外的资源为压力生成系统,主要分布在北京、杭州和深圳的阿里云数据中心。
再来观察一下当前系统的负载情况,通过云监控了解ECS在加压之前的负载情况。两天ECS的CPU使用率都在50%左右。(吐糟wordpress一下,wordpress不干活时CPU也要这么高,神啊救救我吧!)
1502958857-3201-139998637512-e3362a01774f752

第二步,创建属于自己的第一个的ESS伸缩组。名字就叫wordpress-elastic吧!选择SLB和RDS。伸缩组(Scaling Group)是具有相同应用场景的 ECS 实例的集合。伸缩组定义了组内 ECS 实例数的最大值、最小值及其相关联的 SLB 实例和 RDS 实例等属性。
1502958857-5603-139998637512-95bab431dd3839a
紧接着按照提示创建伸缩配置
1502958861-6848-139998637512-a8a6ed52c2833e2
小提示,为了能够顺利执行这一步,请提前创建好自定义镜像。我的自定义镜像中已经提前安装了经过定过定制化的wordpress,以确保和线上的wordpress01和wordpress02的应用服务器版本和配置的一致性。
好了,确定一下ESS服务的状态吧。Wordpress-elatic伸缩组已启动,没有任何ECS伸缩活动

1502958860-4322-139998637512-543d3d16173a16d
1502958860-8868-139998637512-84b05f1329b20e1

第三步,加压给现有ECS。
事先录制好的测试脚本SLB02如下
1502958860-6480-139998637512-114d78cc5ddedc7
压力系统将HTTP请求发向SLB
1502958860-8921-139998637512-fa6e513993c97d0
测试场景如下:
1502958860-2654-139998637512-963fc877dc7a216
一切就绪,开压吧!
期待的结果:
现有ECS服务器wordpress01和wordpress02的负载超过85,按照ESS伸缩策略,将会最少加入2台新的ECS服务实例。
新加入的两台ECS应该被自动配置到实现定义的SLB后台服务器列表中。
新加入的两台ECS服务器实例在SLB负载分担下开始接受新的请求,wordpress01和wordpress02的负载开始下降。
第四步,观察自动伸缩结果
压力测试开始后,随着压力增大,我们看看发生了什么:
“Add “2” ECS ins…”
1502958863-8080-139998637512-8385669b77822de
观察结果:
1502958863-4439-139998637512-cc855875ac0d7dc
1502958863-3459-139998637512-b38a1da70b3f955
新扩展的两台ECS实例已经自动增加到了SLB的后端服务器列表:
1502958863-7821-139998637512-73c0aa44b2fe383
结束语:
在短短的一个小时内,云郎已经借助阿里云的优势,快速体验了ESS弹性伸缩服务的自动伸缩功能,成功进行测试RDS数据库的应用侧容量扩容。
其实ESS除了自动配置SLB、自动扩容,还有自动收缩、定时伸缩、固定数量模式、自动配置RDS等其它功能。咋们也就来个“且听下回分解吧”。我们再来回顾下整个过程中系统架构在没有任何人工参与的情况下,发生了什么变化:
1502958863-1300-139998637512-09ced73a32c8125
不变的是:
原有架构整体保持一致,负载均衡、应用服务器、数据库服务器位置均无任何变化。
变的是:
ECS数量由2个实例变成4个实例,应用服务器处理能力增加一倍。
一切按期望发生,事情够科学!,正所谓:
“ESS妙计安天下,扩了ECS又配SLB。弹性伸缩把忧解,按需调整有智慧“