用“弹性伸缩”需了解客户什么信息?

很多人提到云计算,一定会说到云计算具备自动伸缩能力,会按照客户的业务负载自动伸缩,我在刚接触云计算时也这么认真。真是这样吗?没这么简单!

一、什么是弹性伸缩能力

管理员可以自由设置,当cpu、内存等当前监控值高于某阀值时,自动增加ECS云主机。当低于某阀值时,自动减少ECS云主机。

二、为什么不能任意使用弹性伸缩服务

举个例子,如果某客户正在使用IE浏览器访问某ECS云主机上的网站,并用帐号密码登录了该网站,而该ECS主机因负载较低被弹性伸缩服务强制退出,那么该客户的登录状态将断开,用户将重新登录一次,影响业务使用体验。如果是游戏业务那么将断线。

三、如何才能正常使用弹性伸缩服务

就上面的例子,如果用户的登录状态Session没有在ECS云主机上存储,而是放在了共享存储中,如RDS数据库中。即使ECS被强制下线,客户业务被重新分配到另一台ECS中进行业务使用,登录状态仍然能够在RDS中被找回,客户业务不会中断。

总结,如果需要使用弹性伸缩服务,客户的业务必须进行改造,将云主机上存储的有状态化的数据(如Session数据)移植到RDS、Redis等共享存储中,简称需要“业务无状态化”。