返回
ZStack 实践汇|弹性伸缩+负载均衡在高并发业务场景下的应用
2020-08-14 10:36


写作背景

随着互联网行业的快速发展,诞生出了许多新兴的业务场景,比如当下比较火爆的网络直播、秒杀抢票、电商抢购、网络游戏等,这些业务场景典型的特点就是高并发、大流量和业务具有波峰波谷,这就要求企业的IT架构具备如下特点:
  1. 流量并发:能够保障平台系统在业务峰值时刻持续稳定运行,客户业务正常访问不受影响;

  2. 横向扩展:当后端服务器运行负载较高时可以快速横向扩容;

  3. 负载均衡:不能出现后端服务器“部分忙碌,部分闲置”的情况;

  4. 无单点故障:能够快速甄别出问题的业务服务器并进行隔离;

面对这些需求,传统IT架构很难支撑到位,ZStack云平台的弹性伸缩+负载均衡功能,可以很好的满足高并发场景下云主机的横向扩展、流量负载均衡、自动屏蔽不健康的后端云主机并做到弹性自愈,帮助企业把更多的精力专注业务本身,为企业创造更高价值。
ZStack弹性伸缩+负载均衡基于VPC路由器实现,用户通过访问VPC路由器提供的虚拟IP来访问后端运行业务的云主机,伸缩策略决定伸缩组中较小/较大云主机数量及弹性扩容和缩容的条件,同时通过健康检查来确认后端云主机的健康状况,以保障客户业务持续稳定的运行。下图是负载均衡和弹性伸缩的示意图:

1.png

(图1 ZStack弹性伸缩+负载均衡逻辑图)

本文将从以下几个角度介绍如何在实际业务场景中使用ZStack的弹性伸缩和负载均衡功能。

一、环境准备

1. VPC路由器/高可用组

需要至少一个VPC路由器或者VPC高可用组;负载均衡服务是由ZStack的VPC路由器/VPC高可用组提供的服务,需要先创建VPC路由器或者VPC高可用组,并且确保VPC路由器运行状态正常。

图片2.png

(图2 ZStack VPC路由器)

2. VPC网络

需要至少一个VPC网络(地址段自定义)用于弹性伸缩创建云主机。

图片3.png

(图3 ZStack VPC网络)

3. 云主机镜像

需要至少一个镜像用于创建云主机,生产环境中需要把相关业务封装到镜像中并设置开机自启动,通过弹性伸缩出来的云主机业务层也能实现自启动。本次测试环境镜像为Centos7.4,并且封装了Apache服务,在html配置文件中输入ZStack Running。

图片4.png

(图4 封装了Apahce服务的Centos7.4镜像)


二、创建负载均衡

1. 创建负载均衡器

点击网络服务中的负载均衡器,创建负载均衡器,网络选择公有网络,可以指定IP地址创建或者通过DHCP获取负载均衡器地址,用户通过该公网IP地址来访问后端云主机业务。

图片5.png

(图5 ZStack负载均衡器)

2. 创建监听器

ZStack负载均衡支持四层负载(TCP、UDP)和七层负载(HTTP、HTTPS),创建负载均衡器的时候需要选择相应的协议、端口和负载均衡器。比如公网的80端口负载到内网一组云主机的80端口,实现TCP四层的负载均衡。

图片6.png

(图6 ZStack负载均衡监听器)


三、创建弹性伸缩组

创建弹性伸缩组的时候需要定义伸缩组中较小云主机数量、较大云主机数量和起始云主机数量,这些参数需要根据生产环境实际的业务量进行评估,比如在大流量、高并发和波峰波谷的业务场景中,建议把较大云主机数量设置的稍微大一些;选择负载均衡器、监听器以及三层网络。测试环境下较小云主机数量、较大云主机数量和起始云主机数量分别设置为2台、10台和2台。
选择合适的计算规格和镜像模版,注意模版需要提前封装,一般需要把业务封装进模版并做好开机自启动。
定义扩容/缩容策略,触发条件支持云主机内存平均使用率和CPU平均使用率两种,通过设置一定的触发条件来自动完成后端云主机的扩容和缩容动作。比如,当后端云主机平均CPU使用率大于70%并且持续1分钟的时候进行扩容,每次新增一个云主机;当后端云主机平均CPU使用率小于30%并持续1分钟的时候进行缩容,每次缩容一台云主机,缩容的时候默认是较新创建的云主机优先删除。

图片7.png

(图7 创建弹性伸缩策略)
图片8.png

(图8 创建弹性伸缩策略)

图片9.png

(图9 创建弹性伸缩策略)

图片10.png

(图10 创建弹性伸缩策略)

创建弹性伸缩组,默认是停用状态,需要点击启动。启用后,会按照弹性伸缩组的策略创建云主机。在负载均衡监听器中可以看到云主机的健康状况,并通过访问负载均衡虚拟IP来验证负载均衡效果。

图片11.png

(图11 启用ZStack弹性伸缩组)

图片12.png

(图12 通过伸缩组策略创建出来的两台云主机)

图片13.png

(图13 ZStack负载均衡监听器对云主机健康状况进行检测

通过负载均衡虚拟IP访问后端云主机的WEB页面。

图片14.png

(图14 通过负载均衡VIP访问后端云主机WEB页面)

 

四、验证弹性伸缩效果

1. 弹性扩容验证

对负载均衡后端的云主机运行for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done脚本来提升云主机的CPU利用率

图片15.png


(图15 云主机操作系统中通过top命令打印cpu利用率)

图片16.png

(图16 通过ZStack UI监控数据来监控云主机CPU变化情况)

图片17.png

(图17 通过弹性伸缩策略自动创建出来一台云主机)
负载均衡后端云主机的数量会随着平均CPU使用率的升高增加1个,数量上限为伸缩组中规定的较大云主机数量10台。

2. 弹性缩容验证

对负载均衡后端的两个云主机执行fg crtl+C ,pkill -9 dd后,云主机CPU的利用率会下降,一段时间后观察弹性缩容的效果。

图片18.png

(图18 云主机操作系统中通过top命令打印CPU利用率)

图片19.png

(图 19通过ZStack UI监控数据来监控云主机CPU变化情况,观察弹性伸缩组中云主机数量)

负载均衡后端云主机的数量会随着平均CPU使用率的下降减少1个,数量降至伸缩组规则中规定的较低云主机数量2台。
用户可以通过查看弹性伸缩记录,以便了解业务云主机流量峰值情况和业务负载情况,方便用户有针对性的调整产品战略。

图片20.png

(图20 ZStack弹性伸缩组中的伸缩记录)

另外需要说明的是,云平台在触发弹性扩容和弹性缩容的整个过程中不会影响云主机业务,并且可以优化流量负载,提升用户体验。

图片21.png

(图21 弹性伸缩过程中通过负载均衡VIP持续访问后端云主机WEB页面效果)

 

结尾

ZStack弹性伸缩+负载均衡功能,可以帮助企业优化传统IT架构,通过设置弹性伸缩规则实现横向扩展/减少业务云主机的数量,提升云平台资源整体利用率;ZStack负载均衡支持四层和七层,并且能够做到健康检查,自动隔离不可用的云主机提升业务稳定性和安全性;弹性伸缩+负载均衡可以帮助企业集中精力发展自己的核心业务,较大程度的助力企业创造更广泛的价值!


升级提醒

若您选择升级至4.0.0及之后版本,请注意以下功能调整:

1. 云路由器全面升级为VPC路由器,云路由网络全面升级为VPC网络,不再单独设云路由器页面。升级全程无感知,相关业务不受任何影响。

2. 企业管理账号体系取代用户组与用户,不再单独设用户/用户组页面,不可再使用用户/用户组账号登录云平台。升级前,请先将“用户组与用户”纳管的账号数据妥善迁移至“企业管理”纳管,再执行升级操作。注意:对于admin创建并具备admin权限的用户账号同步取消,如有需要,可使用企业管理账号体系中的平台管理员实现相同功能。

3. 调整AD/LDAP与账户的对接管理方式,统一由企业管理纳管,不再单独设AD/LDAP页面。升级前,请先将“账户”对接纳管的AD/LDAP账号数据妥善迁移至“企业管理”纳管,再执行升级操作。

如对上述升级提醒有任何疑问或需要升级帮助,请联系ZStack官方技术支持

下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
登录观看培训视频
仅对注册用户开放,请 登录 或 填写资料 观看培训视频
填写资料

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
立即咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
培训认证合作伙伴申请
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司名称不应该少于4个字符
职位名称不应该少于2个字符

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
ZStack&工信人才联合证书申请
已获得ZStack原厂证书
未获得ZStack原厂证书
请填写您的基本信息
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司/学校名称不应该少于4个字符
证书类型
ZCCT
ZCCE
ZCCA
ZCPC-ISP
申请ZStack&工信人才联合证书须支付工本费,是否可以接受

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

信息提交成功。

我们将安排工作人员尽快与您取得联系,请保持电话畅通。

感谢您使用 ZStack 产品和服务。

产品咨询

扫码立即线上沟通

联系我们

产品咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2

联系我们

回到顶部

产品试用申请
请选择您要试用的产品
ZStack Cloud 企业版
ZStack Cloud 混合云版
ZStack Cloud 基础版
ZStack Cloud 标准版
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。