广恩礼有 发表于 2024-10-5 22:49:27

阿里云上云解决方案:智能分配网络流量、动态调整服务器资源解决方案

本方案使用应用型负载均衡(ALB)和弹性伸缩(ESS)智能分配网络流量、动态调整服务器资源,提高应用的高可用性和吞吐量,弹性控制资源利用率、缩减资源成本。完成本方案的部署及体验,预计产生费用不超过10元。(假设您选择推荐的资源规格,且运行时间不超过60分钟。实际情况中可能会因您操作过程中实际使用的流量差异,导致费用有所变化,请以控制台显示的实际报价以及最终账单为准)
<h2>一、高可用与弹性伸缩</h2>
在构建现代应用架构时,高可用是保障业务连续性的关键要素,也是实现水平弹性伸缩的基础。而水平弹性伸缩通过精确匹配资源供给与需求变化,避免了资源浪费。在流量较低时自动缩减资源,从而减少不必要的开支;而在面临流量高峰时,又能快速扩展服务器实例数量,确保服务质量和用户体验不受影响。



https://upload-images.jianshu.io/upload_images/19316870-6dd9a83bf59b5780.png



<h2>二、如何实现弹性伸缩</h2>
通过ALB+ESS的技术方案提升应用的可用性,在接收到用户的请求时,ALB能够根据请求内容将流量路由到目标分组内,其中ALB服务器分组与ESS弹性伸缩组进行关联,实现在业务需求量波动时,弹性伸缩ESS自动调整指定类型的ECS实例,以满足业务需求。整体方案架构图如下所示。



https://upload-images.jianshu.io/upload_images/19316870-3057fb618b226ca7.png



<h2>三、与传统方案对比</h2>
传统方案自建负载均衡节点,并且根据业务量的变化来手动实现资源的扩容和缩容,这些方案会带来高硬件成本、管理复杂、可运维性差等问题,同时这些方案需要投入较高的资源、时间和人力成本。本文推荐使用阿里云ALB+ESS的技术方案实现应用的水平弹性伸缩。



https://upload-images.jianshu.io/upload_images/19316870-03ffb7c3eb1efbee.png



<h2>四、方案优势</h2>

1.高并发
单个ALB实例最大并发连接数最高可达1000万,最大新建连接数(CPS)最高可达100万,ALB单实例七层处理能力高达100万QPS。

2.高可用性
ALB最大可提供99.995?A可用性保障;弹性伸缩ESS提供健康检查功能,在ECS实例不健康时,自动增加相应类型的实例替换不健康的实例。

3.弹性伸缩优化成本
无需投入大量人力来调整计算资源,无需提前预备计算资源,也无需担心不能及时释放冗余资源。ESS在适当的时间进行伸缩任务,降低资源拥有成本。
<h2>五、方案部署</h2>
<h3>方案概览</h3>
通过本教程,您将学习如何在阿里云应用型负载均衡ALB上部署七层负载均衡服务,将来自客户端的请求分发至后端ECS上,同时利用阿里云弹性伸缩(ESS)产品实现服务器资源的动态调整能力,这不仅可以提高应用的高可用性和吞吐量,还能提升资源利用率、减小应用响应时间。
弹性伸缩(Elastic Scaling Service):简称ESS,也称为Auto Scaling,能根据您设定的策略自动调整计算资源数量(即业务所需的实例数量),帮助您应对业务流量波动的同时,提高资源利用率,有效降低成本。
应用型负载均衡ALB(Application Load Balancer):专门面向七层应用,提供强大的应用层处理能力和丰富的高级转发规则。单ALB实例性能最大可达100万QPS。
本教程将以有规律的业务量波动为应用场景向您介绍部署过程,如某游戏公司每天18:00业务需求急速增长进入高峰期,到22:00业务需求降低,高峰期结束。该游戏公司的业务量波动有规律,但是每天手动调整计算能力浪费人力和时间成本。您可以利用弹性伸缩的定时任务,由阿里云定时自动进行弹性伸缩。您可以设置两个定时任务,一个定时任务用于在每天17:55自动为您增加1台实例,另一个定时任务用于在每天22:05自动为您减少1台实例。该方式可以很好地应对每天18:00~22:00高峰期的业务量,且在高峰期结束后及时释放实例,避免浪费多余的实例资源和成本。
<h3>方案架构</h3>
本方案的技术架构包括以下基础设施和云服务:

[*]1个专有网络VPC和2个交换机:构建云上私有网络。
[*]1个应用型负载均衡ALB:负载均衡服务。
[*]1个弹性伸缩ESS:提供云服务器ECS弹性伸缩服务。
[*]2-3台云服务器ECS:由弹性伸缩ESS创建并部署Nginx服务,作为Web站点。(本教程以最小化资源实例为例,在两个不同可用区各初始化一台ECS实例,并配置定时弹性伸缩任务扩容和缩容第三台ECS实例)

<h3>部署准备</h3>
1.如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。
2.为阿里云账号充值

[*]为节省成本,本方案默认全部选择使用按量付费资源,使用按量付费资源需要确保账户余额不小于100元。
[*]完成本方案的部署及体验,预计产生费用不超过10元(假设您选择本文示例规格资源,且资源运行时间不超过60分钟。实际情况中可能会因您操作过程中实际使用的流量差异,会导致费用有所变化,请以控制台显示的实际报价以及最终账单为准,如下表格仅供参考)。

<table>
<thead>
<tr>
<th>序号</th>
<th>产品</th>
<th>规格</th>
<th>地域</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>云服务器 ECS</td>
<td>ECS的实例规格及内核、vCPU数量。关于ECS选型的最佳实践请参见ECS选型最佳实践。</td>
<td>华东1(杭州)</td>
</tr>
<tr>
<td>2</td>
<td>应用型负载均衡ALB</td>
<td>功能版本:基础板。</td>
<td>华东1(杭州)</td>
</tr>
</tbody>
</table>
3.领取免费权益
<table>
<thead>
<tr>
<th>资源领取入口</th>
<th>本教程配置</th>
</tr>
</thead>
<tbody>
<tr>
<td>开通云数据传输CDT</td>
<td>CDT每月赠送200GB免费公网流量(其中20GB全地域可用,180GB仅限海外地域可用),可用于抵扣云服务器ECS、弹性公网IP、应用型负载均衡ALB的公网流量,超出部分采用阶梯计费。</td>
</tr>
</tbody>
</table>
<h3>一键部署</h3>
单击一键部署前往ROS控制台,选择两个ECS实例规格和可用区(注意需要选择两个不同的可用区),填写期望自动扩容和缩容的时间(自动扩缩容时间不要晚于当前时间)。具体产生的费用根据您选择的ECS规格而不同,以控制台显示为准。



https://upload-images.jianshu.io/upload_images/19316870-177ad0c1cfe7f024.png



开始创建后,等待约5分钟左右,显示创建成功。



https://upload-images.jianshu.io/upload_images/19316870-960d2d01646be59b.png



<h3>验证及清理</h3>

方案验证
1.在应用型负载均衡ALB控制台左侧导航栏,选择应用型负载均衡ALB&gt;实例,点击目标ALB实例进入详情页,在可用区&gt;弹性公网IP找到目标可用区的弹性公网IP,输入浏览器即可访问Nginx服务。



https://upload-images.jianshu.io/upload_images/19316870-4813d5e2fa7f9a35.png



2.请访问弹性伸缩ESS控制台,选择伸缩组管理&gt;选择目标伸缩组&gt;查看详情&gt;伸缩活动,查看每天的云服务器ECS伸缩情况。

清理资源
在本方案中,您创建了2个云服务器ECS实例、1个应用型负载均衡ALB实例、1个弹性伸缩ESS实例。如果您无需继续使用,请尽快删除资源,避免继续产生费用:

1.登录ROS控制台。
2.在左侧导航栏,选择资源栈。
3.在资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除。
4.在删除资源栈对话框,选择删除方式为释放资源,然后单击确定,根据提示完成资源释放。

官网相关地址直达:
1.更多阿里云方案查询:https://www.aliyun.com
2.阿里云服务器ECS相关活动:https://www.aliyun.com/daily-act/ecs/activity_selection
3.云小站(代金券发布平台):https://www.aliyun.com/minisite/goods



https://upload-images.jianshu.io/upload_images/19316870-5f1747d3cd17a545.png

<div class="image-caption">云小站代金券图.png
页: [1]
查看完整版本: 阿里云上云解决方案:智能分配网络流量、动态调整服务器资源解决方案