双十一没有它,你可能连网店的门都挤不进去

双十一没有它,你可能连网店的门都挤不进去

再过几小时,令人呼吸急促、血脉贲张的双十一又双叒叕要到了。饮水思源,值此剁手佳节,不如我们来谈谈弹性伸缩。毕竟,11.11没有它机智的调整业务计算资源,剁手党可能连网店的门都挤不进去。


什么是弹性伸缩?

弹性伸缩(Elastic Scaling)是根据业务需求和策略,自动调整其弹性计算资源的管理服务,达到优化资源组合的服务能力。在业务量上升时增加计算能力,当业务量下降时减小计算能力,以此保障业务系统的稳定性和高可用性,同时节约计算资源成本。

为什么需要弹性伸缩?

对于云服务提供商来说,弹性伸缩满足了资源按需供给和动态管理的需求,可以将物力资源和虚拟资源及时、合理的调配,避免资源供应不足导致服务中断,同时避免资源供给过量所导致的闲置资源空转、系统利用率降低; 对于云服务用户来说,弹性伸缩降低了用户对于计算资源、储存资源的使用成本,用户按照所使用资源和时间精确灵活的付费,并通过如虚拟服务动态迁移、虚拟资源按需分配等定制化服务,降低维护成本、提高服务效率;

弹性伸缩方式

水平伸缩:增加更多机器,直到满足支撑前段请求量为止。多台机器形成处理集群,分布式架构,扩展性极强; 垂直伸缩:升级更高配置,提高服务器的处理性能。例如在服务器上增加CPU、内存或磁盘资源,由于硬件限制,扩展性有限; 混合伸缩:同时进行水平伸缩和垂直伸缩。


弹性伸缩形式

自动伸缩:通过配置自动伸缩条件实现,如单个实例的内存超过90%或CPU使用连续3分钟超过100%进行扩容一倍的节点数; 手动伸缩:通过手动调节实例和资源实现,如下图。


弹性伸缩层面

PaaS层的应用级别伸缩:这个层次的伸缩是针对应用的,可以针对应用进行实例个数以及每个实例的资源进行伸缩调整。但如果PaaS层的资源池不够用了,就会触发IaaS层的伸缩。

IaaS层的资源池的伸缩:这个层次的伸缩不会主动触发,而是通过接受PaaS请求来完成的。例如,如果用户的web服务想从10个节点扩容到1000个节点,这时候PaaS平台会先分析PaaS资源池的资源是否够用,如果不够用就会调用IaaS层的接口创建虚拟机,并将虚拟机的资源加入到PaaS的资源池中。

弹性伸缩VS人工伸缩

在那个弹性伸缩缺席的年代,绝大部分用户采用包年包月的方式购买服务器,并按照业务峰值提前采购计算资源,直接导致了资源浪费和在人工伸缩间隙资源跟不上业务增长所产生的用户体验下降、用户损失以及收入损失。


弹性伸缩应用场景

春节期间的某12306,双十一期间的某宝、某东,不定时刷新世界BOSS的某游戏,不知道为什么反正就是突然火了的某APP……

谁是弹性伸缩的最大受益者?运维,一定是运维!运维已在机房滑跪!再也不用面对控制台一大堆服务器,再也不用时刻紧盯监控,再也不用人肉处理突发峰值,终于可以放心去过双十一了!