写点什么

SLB 负载均衡实践

用户头像
若尘
关注
发布于: 2021 年 08 月 04 日
SLB 负载均衡实践

SLB 负载均衡实践

使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,以实现高并发负载均衡 

背景知识——负载均衡

  • 定义

  • 将访问流量根据转发策略分发到后端多台云服务器(ECS 实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。

  • 三个核心概念

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

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

  • 监听(Listeners)

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

  • 后端服务器(Backend Servers)

  • 一组接收前端请求的 ECS 实例。可以单独添加 ECS 实例到服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理

  • 特点

  • 负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称 ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中

  • 负载均衡服务会检查云服务器池中 ECS 的健康状态,自动隔离异常状态的 ECS,从而解决了单台 ECS 的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备 TCP 与 HTTP 抗 DDoS 攻击的特性,增强了应用服务器的防护能力

  • 负载均衡服务是 ECS 面向多机方案的一个配套服务,需要同 ECS 结合使用

1. 创建资源

  • 由于是负载均衡实践,所以阿里云实验为我们提供了两台云服务器 ECS 

2. 云服务器状态确认

  • 我们分别访问两台云服务器 ECS 的弹性 IP 地址,可以发现,两个页面的内容完全一样,只是后端服务器的 IP 不同 


在真实场景下,负载均衡后端的服务器中部署的应用都是一致的

3. 负载均衡配置

  • 我们点击左侧的 一键复制url,在浏览器中打开,然后输入实验提供的 子用户名称子用户密码,登录阿里云管理控制台 

  • 点击负载均衡 

  • 点击 实例管理,选择实验提供的示例,然后点击 点我开始配置 

  • 【协议 & 监听】配置

  • 负载均衡协议:HTTP

  • 监听端口:80

  • 高级配置:默认



  • 【后端服务器】配置

  • 监听请求转发至选择 默认服务器组,然后点击 继续添加 

  • 选择实验预先配置好的两台 ECS 服务器,点击下一步,点击添加 

  • 在【后端服务器】界面可以看到刚才添加的两台服务器,将 端口 设置为 80,点击下一步 

  • 负载均衡器将会按照输入的权重比例分发请求

  • 【健康检查】配置

  • 打开开启健康检查,然后点击下一步



  • 【配置审核】

  • 确认自己前面信息填写无误后,点击提交,弹窗点击 知道了



  • 稍等一会,然后刷新一下,健康检查显示为【健康】



4. 负载均衡验证

4.1 验证负载均衡的工作原理

  • 刚才创建后,两台服务器的权重均为 100,我们首先验证一下负载均衡服务器是否轮询访问后端云服务器 ECS 实例

  • 重复访问此地址,我们可以发现<font color="red">后端服务器 IP 是在两个云服务器的内网地址间轮流更换</font> 



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

4.2 验证不同权重的负载均衡

  • 点击 默认服务组,然后选择两个云服务器实例,点击 修改权重 

  • 我们将两台服务器的权重分别设置为 30 和 90 


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


  • 浏览器中,刷新多次负载均衡 服务地址 的页面,并记录页面显示的 后端服务器 IP 。可以发现:每 4 次刷新,将有 3 次访问 权重 为 90 的 ECS 实例,1 次访问权重为 30 的 ECS 实例

4.3 验证会话保持功能

  • 点击管理 

  • 跳转到监听页面后点击 修改监听配置 

  • 在高级配置处点击修改 

  • 开启会话保持,会话保持超时时间设置为 180,然后点击下一步 

  • 后面几个都选择默认设置即可 

  • 再次在浏览器中输入 负载均衡 的 IP 地址 ,多次刷新,发现在会话保持的超时时间内请求只会分发到某一台 ECS 上(究竟是哪一台 ECS 没有规定),时间超出后,重新按照权重比例分发 

  • 关闭开启 会话保持 的那台 ECS 。默认服务器组页面,已添加的服务器中 ,点击目标 ECS 的的高亮部分(即 云服务器 ID 

  • 点击停止将其关闭,等待大概 1 分钟就会停止运行 

  • 在【监听】和 【实例】处可以看到都出现了异常 

  • 此时再进行访问负载均衡的 IP 地址,请求发送到健康检查状态为正常 的 ECS 上 


通过以上操作我们发现:当某一台 ECS 出现异常后,负载均衡会自动将请求发送到健康检查状态正常的 ECS 上

发布于: 2021 年 08 月 04 日阅读数: 5
用户头像

若尘

关注

还未添加个人签名 2021.01.11 加入

还未添加个人简介

评论

发布
暂无评论
SLB 负载均衡实践