ECS七天训练营进阶班 第二天 SLB负载均衡实践

第三天 SLB负载均衡实践

目标

拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。

本场景通过使用阿里云负载均衡SLB以及对负载均衡SLB后端服务器ECS的权重进行修改,可以快速解决上述的问题。
ECS七天训练营进阶班 第二天 SLB负载均衡实践

背景知识

阿里云负载均衡

简介

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

负载均衡通过设置虚拟服务地址,将添加的ECS实例虚拟成一个高性能、高可用的应用服务池,并根据转发规则,将来自客户端的请求分发给云服务器池中的ECS实例。

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

架构

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

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

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

  • 监听 (Listeners)

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

  • 后端服务器(Backend Servers)

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

ECS七天训练营进阶班 第二天 SLB负载均衡实践

特点

  1. 负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。
  2. 负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。
  3. 负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。

产品优势

  • 高可用
    采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.95%。根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。
  • 可扩展
    您可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力。
  • 低成本
    与传统硬件负载均衡系统高投入相比,成本可下降60%。
  • 安全
    结合云盾,可提供5Gbps的防DDOS攻击能力。

0x01 开始

在阿里云申请免费体验,成功后,将会分配两台ECS,打开浏览器,分别访问两台ECS的弹性IP可以看到下方显示的后端IP不同。
ECS七天训练营进阶班 第二天 SLB负载均衡实践
ECS七天训练营进阶班 第二天 SLB负载均衡实践

0x02 负载均衡配置

  1. 使用体验机提供的登录URL和用户名密码登录控制台,点击左侧负载均衡
  2. 再进入实例管理页面,点击点我开始配置
    ECS七天训练营进阶班 第二天 SLB负载均衡实践
  3. 协议&监听页面,输入如下信息,完成后,点击 下一步 。

    • 负载均衡协议:选择 HTTP
    • 监听端口:设为 80
    • 高级配置保持默认
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
  4. 后端服务器页面,监听请求转发至默认服务器组,在已添加服务器处点击继续添加
    ECS七天训练营进阶班 第二天 SLB负载均衡实践
  5. 在弹出的待添加服务器页面,在预先配置好的两台云服务器前打勾选择,然后点击下一步,之后再点击 添加
    ECS七天训练营进阶班 第二天 SLB负载均衡实践
  6. 在后端服务器界面的已添加服务器列表中,可以看到新增的两台云服务器,分别将 端口 设置为 80,并点击 下一步
    ECS七天训练营进阶班 第二天 SLB负载均衡实践
  7. 健康检查 配置中,开启健康检查按钮为绿色 开启状态,点击 下一步
    ECS七天训练营进阶班 第二天 SLB负载均衡实践
  8. 之后,将会进行一次健康检查,后端服务器组已添加完成两台ECS服务器,且 健康检查 的状态为 正常

0x03 验证

  1. 在实例管理中,可以看到负载均衡的服务地址
    ECS七天训练营进阶班 第二天 SLB负载均衡实践

使用浏览器访问,重复刷新,即可看到后端服务器IP在两个地址之间轮流变动
ECS七天训练营进阶班 第二天 SLB负载均衡实践
ECS七天训练营进阶班 第二天 SLB负载均衡实践
如上结果证明:负载均衡会将用户的请求发送到后端不同的服务器进行处理。这样,可以减轻单台服务器的负载压力,从而确保业务的持续性。

  1. 进入 实例管理 页面,点击该实例的 默认服务器组 ,选中 已添加的服务器 ,列表中,勾选下方的勾选框 ,然后点击 修改权重
    ECS七天训练营进阶班 第二天 SLB负载均衡实践

设置两个实例的 权重 分别为 3090
ECS七天训练营进阶班 第二天 SLB负载均衡实践

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

  • 如上结果证明:用户可以根据实际情况调整负载均衡器的请求分发,一般将配置高的服务器设置的权重调高,配置较低的服务器设置的权重调低。这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。
  1. 执行以下步骤,开启负载均衡的 会话保持 功能。

    1. 点击左侧 监听 ,监听页面点击右侧的 配置
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
    2. 配置监听页面的 高级配置 处,点击 修改
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
    3. 开启 会话保持 ,超时时间 输入 180 (即 3 分钟);完成后点击 下一步 。
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
    4. 下面的 后端服务器健康检查配置审核 页面都采用默认值 ,依次完成配置。
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
    5. 返回到 监听 页面 ,会话保持 状态 已开启
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
  2. 再次在浏览器中输入 负载均衡IP地址 ,多次刷新,发现在会话保持的超时时间内请求只会分发到某一台 ECS 上(究竟是哪一台 ECS 没有规定),时间超出后,重新按照权重比例分发。
    ECS七天训练营进阶班 第二天 SLB负载均衡实践
  3. 尝试故障备份功能

    1. 在控制台关闭开启 会话保持 的那台ECS 。默认服务器组页面,已添加的服务器中 ,点击目标ECS的的高亮部分(即 云服务器ID),并在管理页面中将其关闭
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
    2. 返回负载均衡管理控制台,在默认服务器组页面中点击右上角的【刷新】,页面刷新后被停止的 ECS 的 状态 变为 已停止
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
      【监听】 页面,也出现 异常 提示 。
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
      同样的,点击左上角的 【实例管理 】,返回负载均衡管理控制台主页面,异常 报警也会出现。
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
    3. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS上。
      ECS七天训练营进阶班 第二天 SLB负载均衡实践
上一篇:淘宝吃货能改变什么?


下一篇:Django学习笔记-初识Django