弹性伸缩 Auto Scaling
说人话的通俗描述:
购物网站在促销的时候,是无法准确预估有多少人来买东西的,比如双11,这样就不能确定最多支持多少人同时到网站来买东西了。如果双11没有探索伸缩来自动扩充后台的服务器,剁手党可能连网店的门都挤不进去。
剁手党 喜欢逛购物网站,各种搜索、比价、抢购,看似货比三家了,实际买回来后发现实用价值很小。冷静之后,告诫自己,如果再买哪些没用的东西时,就把自己的手给剁了。但是购物瘾再犯时,就把剁手这个事情忘记了。这类购物者经常黑自己说是剁手党。
行业介绍:
弹性伸缩(Auto Scaling),是根据业务需求和策略,自动调整其弹性计算资源的管理服务,达到优化资源组合的服务能力。在业务量上升时增加计算能力,当业务量下降时减小计算能力,以此保障业务系统的稳定性和高可用性,同时节约计算资源成本。
产生背景:
互联网是最早出现也是目前应用最广泛的场景。一个网站,通常流量大小不是每时每刻都一样,有高峰,有低谷,如果每时每刻都要保持能够扛住高峰流量的机器数目,那么成本会很高。
在弹性伸缩缺席的年代,绝大部分用户采用购买硬件服务器或租用IDC的服务器,并按照业务峰值提前采购计算资源,直接导致了资源浪费和在人工伸缩间隙资源跟不上业务增长所产生的用户体验下降、用户损失以及收入损失。
一个诱人的想法就是根据流量大小自动调节机器的数量,因此产生了弹性伸缩的网络架构。
人工伸缩 VS 弹性伸缩
人工伸缩:非常依赖人的经验预判,手工提前在业务高峰期扩容,业务低谷期再释放多余服务器。
弹性伸缩:几乎不依赖人的经验,自动扩容和缩容。
哪些常见场景适合弹性伸缩呢?
春节期间的某12306
双十一期间的某宝、某东
不定时刷新世界BOSS的某游戏
不知道为什么反正就是突然火了的某APP
伸缩方式:
水平伸缩:增加更多机器,直到满足支撑前端请求量。多台机器形成处理集群,分布式架构,扩展性极强。推荐:主流的公有云阿里云、腾讯云、华为云都支持在线扩容,无需停机。
垂直伸缩:升级更高配置,提高服务器的处理性能。例如在服务器上增加CPU、内存或磁盘资源,由于硬件限制,扩展性有限。注意:需要云主机重启,应用场景有限。
本文大量引用了原文:http://www.sohu.com/a/118595873_515888