我们的系统中有两台手动创建的ECS里面部署了jar作为服务。这两天服务器属于同一个SLB,外网用户主要通过访问SLB的IP,然后SLB将解析HTTPS并转发请求到应用服务器上。 但是这是固定的,没有弹性。当流量洪流来袭时我们的系统CPU与内存将进到达100%,用户甚至出现请求超时的异常。但是我们并不愿意直接扩充ECS,因为只有在抢购活动时系统才会难以承担,我们没必要在平时负担这些额外ECS的费用 。
基于以上情况我们开始配置ESS。ESS按量计费相当划算~
1.我们的镜像是ECS运行时的快照,也就是说其中包含的jar是当时的版本,所以我们在vECS启动时需要更新jar,但是如何更新呢?总不能一个一个的去修改吧。我们使用了NAS,每次jar有更新只需要将最新版本拷贝到共享硬盘中,然后镜像启动时自动去将最新jar复制到镜像中即可。然后通过java命令启动jar即可。
2.我们需要配置弹性伸缩组,并指扩容缩容的规则。
3.我们需要将弹性伸缩组与负载均衡相关联,并设置负载均衡的健康检查。
具体步骤如下:
配置扩容与缩容规则(简单规则为例)
以下脚本文件需要放在镜像中:
以前ECS的监控情况如下:
现在ECS的监控情况如下:
弹性伸缩组会自动加入一个vECS