ECS+SLB 负载均衡实践

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: ECS+SLB 负载均衡实践

ECS+SLB 负载均衡实践

服务器负载均衡(Server Load Balancing),可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡。
虚拟服务器代表的是多个真实服务器的群集,客户端向虚拟服务器发起连接时,通过某种负载均衡算法,转发到某真实服务器。
负载均衡算法有两种:
Weighted round robin(WRR)和Weighted least connections(WLC),
WRR使用加权轮询算法分配连接,WLC通过一定的权值,将下一个连接分配给活动连接数少的服务器。
配置分为两部分,
第一部分是使用slb serverfarm serverfarm_name命令定义SLB选项,包括指定真实服务器地址;
第二部分是使用ip slb vserver virtual_server-name来指定虚拟服务器地址。

负载均衡默认检查云服务器池中ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。
此外,负载均衡还具备抗DDoS攻击的能力,增强了应用服务的防护能力。

负载均衡服务主要有三个核心概念:

负载均衡实例 (Server Load Balancer instances)

一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例。

监听 (Listeners)

监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。

后端服务器(Backend Servers)

一组接收前端请求的ECS实例。您可以单独添加ECS实例到服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。
在这里插入图片描述

来源于百度百科:什么是SLB

今天在这里就做一个SLB 负载均衡实践,所用的平台依旧是阿里训练营的在线实验模块,个人感觉挺不错的,里面有实验的介绍和操作步骤,比较适合小白入门,另外也不需要自己去专门申请Ecs资源,这个平台可以提供在线的资源,不过每天有名额限制,感兴趣的小伙伴可以了解一下:阿里训练营

话不多说,开始今天的实验吧:首先进入阿里训练营的进阶路线里面(在这里就认为你已经注册过阿里云账号并且已经通过了认证,当然有自己的服务器也可以跟着做),点击进入今天的实验在这里插入图片描述点击进入实验(因为我之前做过,所以这里显示的是再次实验,点进去都是一样的界面)
在这里插入图片描述进入后申请资源的步骤以及ecs各项参数的含义可以参考前一期的教程:快速搭建Docker环境

细心的小伙伴可能已经发现今天申请的资源和以前不太一样,不同的是今天申请资源后会给我们两个ecs实例,很多人认为会不会是系统出错了呢?其实并不是大家想的那样,今天的实验是负载均衡实验,其实说白了就是把本来一个服务器上的东西分发到多个服务器上共同来处理各项任务在这里插入图片描述申请完资源后我们要先把两个ecs的公网ip分别复制粘贴到浏览器中看是否能够正常工作,这时我们会发现两个ip进去的内容相似,只是后端服务器IP那里不太一样,这就说明任务可以分别在两台服务器上运行起来
在这里插入图片描述验证完之后我们会发现只有当我们输入两个不同ip时才会访问到不同的页面,实际上两个服务器还是在独立运行。那么我们就会想,能否输入其中的一个ip就能让我们同时访问两个不同的页面呢?当然可以,这需要我们先配置一下,将两个服务器关联起来,配置操作如下:

负载均衡配置

本小节的主要内容:将两台服务器挂载到负载均衡的后端,这样,用户只需访问一个IP地址或域名,负载均衡服务器将会根据权重自动转发用户请求到相应的后端服务器上。

## 1. 通过如下步骤,查看阿里云负载均衡控制台:

1)点击左侧导航栏处的 云产品资源 查看资源信息,点击 一键复制url,用浏览器隐身窗口(或无痕模式)登录控制台,
在这里插入图片描述

2)输入实验提供的 子用户名称 和 子用户密码 ,完成后点击 登录 。登录阿里云管理控制台。(这里可不是服务器的账号和密码哦。这里推荐大家用新开一个隐私窗口或者换另外一个服务器登录,否则会将我们之前登录的主账号给挤下去,就不太方便后续的操作

在这里插入图片描述3)点击左侧导航栏的 产品与服务 ,下拉菜单中,在 弹性计算 条目下选择 负载均衡 。
在这里插入图片描述2. 点击左侧的 实例管理 ,然后打开实验提供的实例,在实例列表页面,点击目标实例右侧的 点我开始配置 。(这里需要注意一下区域)
在这里插入图片描述3. 通过负载均衡业务配置向导,配置负载均衡的 监听端口、后端服务器 和 健康检查 :

1)在 协议&监听 页面,输入如下信息,完成后,点击 下一步 。

负载均衡协议:选择 HTTP
监听端口:设为 80
高级配置保持默认
AI 代码解读

在这里插入图片描述2)在 后端服务器 页面,监听请求转发至 默认服务器组,在已添加服务器处点击 继续添加 。

在这里插入图片描述3)在弹出的待添加服务器页面,在预先配置好的两台云服务器前打勾选择,然后点击下一步,之后再点击 添加;
在这里插入图片描述在这里插入图片描述4)在后端服务器界面的已添加服务器列表中,可以看到新增的两台云服务器,分别将 端口 设置为 80,并点击 下一步 。

说明:负载均衡器将会按照输入的权重比例分发请求。
在这里插入图片描述5)在 健康检查 配置中,开启健康检查按钮为绿色 开启状态,点击 下一步。
在这里插入图片描述6)在 配置审核 页面,确认上述配置操作正确,点击 提交;出现如下界面,提示配置成功后,点击 知道了;
在这里插入图片描述7)此时,页面将显示一个状态为 运行中 的负载均衡监听实例,后端服务器组已添加完成两台ECS服务器,且 健康检查 的状态为 正常。

注意:通常等待1分钟左右健康检查状态变为正常,可点击右侧的 刷新 查看。
在这里插入图片描述在这里插入图片描述负载均衡验证

本小节主要内容如下:

验证负载均衡的工作原理;
验证通过配置不同后端服务器权重,将用户的请求按比例分发到不同后端服务器;
验证在一台后端服务器开启会话请求时,请求在会话开启的时间内只会分发到这一台服务器。
AI 代码解读
  1. 此时,两台后端服务器的权重比例相同。通过如下步骤,验证负载均衡服务器是轮询访问后端云服务器ECS实例:

1)在控制台点击左侧 实例管理 ,在右侧页面中的红框处看到负载均衡的 服务地址(也就是 云产品资源 提供的 负载均衡 的 IP地址) ;
在这里插入图片描述2)在浏览器中新建页面,并访问 负载均衡 的 服务地址 。界面显示的 后端服务器IP 为 云服务器ECS-1(或 云服务器ECS-2) 的 内网地址 。

说明:界面显示的地址为内网地址,这是因为负载均衡访问后端ECS实例,是通过内网访问的。

在这里插入图片描述3)刷新 浏览页面,显示的 后端服务器IP 将发生变化,变为 云服务器ECS-2(或 云服务器ECS-1)的 内网地址 ;
在这里插入图片描述4)重复刷新操作,观察 后端服务器IP 是在两个云服务器的 内网地址 间轮流更换。

5)如上结果证明:负载均衡会将用户的请求发送到后端不同的服务器进行处理。这样,可以减轻单台服务器的负载压力,从而确保业务的持续性。

  1. 通过如下步骤,修改后端服务器权重,验证负载均衡向后端服务器发送请求的比例是按照权重的比例调整的。

1)返回 实例管理 页面,点击该实例的 默认服务器组 ;
在这里插入图片描述3)弹出对话框中,勾选 设置不同的权重 。

4)设置两个实例的 权重 分别为 30 ,90 。

说明:通过如上的权重配置,用户通过负载均衡访问的时候,1/4 的用户请求发送到一台后端服务器中,3/4 的请求发送到另一台后端服务器中。

5)完成如上配置后,点击 确定 ,生效配置信息。
在这里插入图片描述在这里插入图片描述7)浏览器中,刷新多次负载均衡 服务地址 的页面,并记录页面显示的 后端服务器IP 。可以发现:每 4 次刷新,将有 3 次访问 权重 为 90 的 ECS实例,1 次访问权重为 30 的 ECS实例。

8)如上结果证明:用户可以根据实际情况调整负载均衡器的请求分发,一般将配置高的服务器设置的权重调高,配置较低的服务器设置的权重调低。这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。

  1. 执行以下步骤,开启负载均衡的 会话保持 功能。

1)点击左侧 监听 ,监听页面点击右侧的 配置 。

在这里插入图片描述2) 配置监听页面的 高级配置 处,点击 修改 ;
在这里插入图片描述3)开启 会话保持 ,超时时间 输入 180 (即 3 分钟);完成后点击 下一步 。在这里插入图片描述4)下面的 后端服务器、健康检查 和 配置审核 页面都采用默认值 ,依次完成配置。在这里插入图片描述5)返回到 监听 页面 ,会话保持 状态 已开启 。
在这里插入图片描述4. 再次在浏览器中输入 负载均衡 的 IP地址 ,多次刷新,发现在会话保持的超时时间内请求只会分发到某一台 ECS 上(究竟是哪一台 ECS 没有规定),时间超出后,重新按照权重比例分发。
在这里插入图片描述5. 我们关闭开启 会话保持 的那台ECS 。默认服务器组页面,已添加的服务器中 ,点击目标ECS的的高亮部分(即 云服务器ID)。

在这里插入图片描述6. 实例详情页面 ,点击右上角处的 【停止】 ,弹窗页面点击【确定 】关闭当前ECS。
在这里插入图片描述在这里插入图片描述等待1分钟左右,实例的状态变为 已停止 。
在这里插入图片描述7. 返回负载均衡管理控制台,在默认服务器组页面中点击右上角的【刷新】,页面刷新后被停止的 ECS 的 状态 变为 已停止。
在这里插入图片描述【监听】 页面,也出现 异常 提示 。
在这里插入图片描述同样的,点击左上角的 【实例管理 】,返回负载均衡管理控制台主页面,异常 报警也会出现。
在这里插入图片描述8. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS上。
在这里插入图片描述9. 结果证明,当某一台 ECS 出现异常后,负载均衡会自动将请求发送到健康检查状态正常的 ECS 上。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
1
分享
相关文章
【上云基础系列 02-01】通过SLB+1台ECS+ESS弹性伸缩,搭建一个精简版的上云标准弹性架构(含方案及教程)
通常,构建一个弹性架构(即使是一个最基础的入门版),至少需要2台ECS。但是,很多小微企业刚开始上云的时候,为了节省成本不愿意购买更多的服务器。通过 “ALB+ESS弹性伸缩+1台ECS+RDS”方案,在保障低成本的同时,也不牺牲业务架构的弹性设计,更避免了很多人因为节省成本选择了单体架构后频繁改造架构的困局。 方案中的几个设计非常值得小微企业借鉴:(1)通过ALB/RDS的按量付费,节省了初期流量不大时的费用;(2)通过ESS弹性伸缩,不需要提前购买服务器资源,但是当业务增长或减少时却保持了资源弹性自动扩缩容。
活动实践 | ALB 实现跨地域负载均衡
本方案通过阿里云的云企业网(CEN)、转发路由器(TR)、专有网络(VPC)、云服务器(ECS)和应用型负载均衡(ALB),实现跨地域的应用负载均衡。它扩展了系统的吞吐能力,提升了可用性和安全性。用户可通过资源编排服务(ROS)一键部署,并进行负载测试验证。清理资源也简便快捷。
阿里云磐久服务器稳定性实践之路
阿里云服务器质量智能管理体系聚焦自研服务器硬件层面的极致优化,应对高并发交付、短稳定性周期、早问题发现和快修复四大挑战。通过“三个重构”(质量标准、开发流程、交付模式)、“六个归一”(架构、硬件、软件、测试、部件、制造)策略,实现芯片、整机和云同步发布,确保快速稳定上量。此外,全场景测试体系与智能预警、分析、修复系统协同工作,保障服务器在萌芽阶段发现问题并及时解决,提升整体质量水平。未来,阿里云将继续深化大数据驱动的质量管理,推动服务器行业硬件质量的持续进步。
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
232 9
常见的Ribbon/Spring LoadBalancer的负载均衡策略
自SpringCloud 2020版起,Ribbon被弃用,转而使用Spring Cloud LoadBalancer。Ribbon支持轮询、随机、加权响应时间和重试等负载均衡策略;而Spring Cloud LoadBalancer则提供轮询、随机及Nacos负载均衡策略,基于Reactor实现,更高效灵活。
187 0
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
176 3
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
164 2
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
154 1
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
730 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等