SLB负载均衡

概述

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

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

组成部分

负载均衡由以下三个部分组成:

  • 负载均衡实例 (Instances)
    一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例。
  • 监听 (Listeners)
    监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。
  • 后端服务器(Backend Servers)
    后端服务器是一组接收前端请求的ECS实例。您可以单独添加ECS实例到后端服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。

负载均衡配置

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

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

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

2)输入实验提供的 子用户名称子用户密码 ,完成后点击 登录 。登录阿里云管理控制台。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_02

3)点击左侧导航栏的 产品与服务 ,下拉菜单中,在 弹性计算 条目下选择 负载均衡

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_03

  1. 点击左侧的 实例管理 ,然后打开实验提供的实例,在实例列表页面,点击目标实例右侧的 点我****开始配置

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_04

  1. 通过负载均衡业务配置向导,配置负载均衡的 监听端口后端服务器健康检查

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

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

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡_05

2)在 后端服务器 页面,监听请求转发至 默认服务器组,在已添加服务器处点击 继续****添加

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_06

3)在弹出的待添加服务器页面,在预先配置好的两台云服务器前打勾选择,然后点击下一步,之后再点击 添加

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_07

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_08

4)在后端服务器界面的已添加服务器列表中,可以看到新增的两台云服务器,分别将 端口 设置为 80,并点击 下一步

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

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_09

5)在 健康检查 配置中,开启健康检查按钮为绿色 开启状态,点击 下一步

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_10

6)在 配置审核 页面,确认上述配置操作正确,点击 提交;出现如下界面,提示配置成功后,点击 知道了

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_11

7)此时,页面将显示一个状态为 运行中 的负载均衡监听实例,后端服务器组已添加完成两台ECS服务器,且 健康检查 的状态为 正常

注意:通常等待1分钟左右健康检查状态变为正常,可点击右侧的 刷新 查看。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_12

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_13

负载均衡验证

本小节主要内容如下:

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

1)在控制台点击左侧 实例管理 ,在右侧页面中的红框处看到负载均衡的 服务地址(也就是 云产品资源 提供的 负载均衡IP地址) ;

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_14

2)在浏览器中新建页面,并访问 负载均衡服务地址 。界面显示的 后端服务器IP 为 云服务器ECS-1(或 云服务器ECS-2) 的 内网地址

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

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_15

3)刷新 浏览页面,显示的 后端服务器IP 将发生变化,变为 云服务器ECS-2(或 云服务器ECS-1)的 内网地址

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡_16

4)重复刷新操作,观察 后端服务器IP 是在两个云服务器的 内网地址 间轮流更换。

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

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

1)返回 实例管理 页面,点击该实例的 默认服务器组

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡_17

2)选中 已添加的服务器 ,列表中,勾选下方的勾选框 ,然后点击 修改权重

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_18

3)弹出对话框中,勾选 设置不同的权重

4)设置两个实例的 权重 分别为 3090

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

5)完成如上配置后,点击 确定 ,生效配置信息。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_19

6)返回已添加的服务器的页面,查看到两台 ECS实例 的权重分别为 3090 ,并记录对应的 ECS实例 内网地址

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_20

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

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

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

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

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_21

2) 配置监听页面的 高级配置 处,点击 修改

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_22

3)开启 会话保持 ,超时时间 输入 180 (即 3 分钟);完成后点击 下一步

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_23

4)下面的 后端服务器健康检查配置审核 页面都采用默认值 ,依次完成配置。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_24

5)返回到 监听 页面 ,会话保持 状态 已开启

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡_25

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

lvs负载均衡 和nignx负载均衡 负载均衡lsb_lvs负载均衡 和nignx负载均衡_26

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

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_27

  1. 实例详情页面 ,点击右上角处的 【停止】 ,弹窗页面点击【确定 】关闭当前ECS。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_28

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡_29

等待1分钟左右,实例的状态变为 已停止

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_30

  1. 返回负载均衡管理控制台,在默认服务器组页面中点击右上角的【刷新】,页面刷新后被停止的 ECS 的 状态 变为 已停止

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_31

【监听】 页面,也出现 异常 提示 。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_服务器_32

同样的,点击左上角的 【实例管理 】,返回负载均衡管理控制台主页面,异常 报警也会出现。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_负载均衡_33

  1. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS上。

lvs负载均衡 和nignx负载均衡 负载均衡lsb_后端服务_34

同样的,点击左上角的 【实例管理 】,返回负载均衡管理控制台主页面,异常 报警也会出现。

  1. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS上。
  2. 结果证明,当某一台 ECS 出现异常后,负载均衡会自动将请求发送到健康检查状态正常的 ECS 上。