CLB负载均衡实践

更新时间:
复制为 MD 格式

本场景通过使用阿里云负载均衡CLB以及对负载均衡CLB后端服务器ECS的权重进行修改,快速解决服务器响应速度慢的问题。

场景简介

拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。本场景通过使用阿里云负载均衡CLB以及对负载均衡CLB后端服务器ECS的权重行修改,可以快速解决上述的问题。

image

体验此场景后,你可以掌握的能力有:

  • 配置负载均衡CLB的监听规则,并将ECS实例部署到CLB后端。

  • 通过设置负载均衡CLB后端服务器ECS的权重值,分配用户访问后端ECS实例的比例。

背景知识

  • 阿里云负载均衡

    • 架构

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

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

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

        • 监听 (Listeners)

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

        • 后端服务器(Backend Servers)

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

        image

    • 特点

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

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

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

    • 产品优势

      • 高可用

        采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.95%。

        根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。

      • 可扩展

        您可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力。

      • 低成本

        与传统硬件负载均衡系统高投入相比,成本可下降60%。

      • 安全

        结合云盾,可提供5Gbps的防DDoS攻击能力。

创建实验资源

  1. 在实验页面,勾我已阅读并同意《阿里云云起实践平台服务协议》我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操

  2. 创建资源需要5分钟左右的时间,请您耐心等待。

  3. 云产品资源列表,您可以查看本场景涉及的云产品资源信息。

    image

安全设置及云服务器状态确认

  1. 设置安全组端口。

    1. 云产品资源列表的安全组区域,单击管理

      image

    2. 访问规则区域的入方向中,添加HTTP(80)端口。

      重要

      添加端口时,授权对象建议选择您的本机IP地址

      image

      image

  2. 云服务器状态确认。分别访问实验提供的两台云服务器ECS,观察有什么异同点。

    1. 单击左侧导航栏处的云产品资源,查看ECS01服务器和ECS02服务器的相关信息。

      image

    2. 在本地浏览器地址栏中,分别输入云产品资源列表中提供的ECS01ECS02公网IP,页面如下图。

      说明

      正常情况下不会显示内网IP地址,此处是为了观察比较的便利性而设计的。

      image

    3. 比较两台ECS的访问结果,发现部署的网站内容相同,只是显示的内网IP不同。

      说明

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

负载均衡配置

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

  1. 云产品资源列表的传统型负载均衡CLB区域,单击管理

    image

  2. 实例管理页,单击目标实例右侧的点我开始配置

    image

  3. 通过负载均衡业务配置向导,配置负载均衡的监听端口。

    1. 协议&监听页面,输入如下信息后,单击下一步

      参数

      示例

      负载均衡协议

      HTTP

      监听端口

      80

      高级配置

      加权轮询

      image

      image

      image

  4. 通过负载均衡业务配置向导,配置负载均衡的后端服务器。

    1. 后端服务器页面,监听请求转发至默认服务器组,在已添加服务器处单击继续添加

      image

    2. 我的服务器页面,勾选预先配置好的两台云服务器,然后单击下一步 > 添加

      image

      image

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

      说明

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

      image

  5. 通过负载均衡业务配置向导,配置负载均衡的健康检查和审核。

    1. 健康检查页面中,开启健康检查按钮为绿色开启状态,单击

      image

    2. 配置审核页面,确认上述配置操作正确,单击提交

      image

      如下图所示,提示配置成功后,单击知道了

      image

  6. 返回控制台后,等待1分钟左右可看到负载均衡监听实例状态运行中,后端服务器组已添加完成两台ECS服务器,且健康检查状态为正常

    image

负载均衡验证

本小节主要内容如下:

  • 验证负载均衡的工作原理;

  • 验证通过配置不同后端服务器权重,将用户的请求按比例分发到不同后端服务器;

  • 验证在一台后端服务器开启会话请求时,请求在会话开启的时间内只会分发到这一台服务器;

  1. 此时,两台后端服务器的权重比例相同。通过如下步骤,验证负载均衡服务器是轮询访问后端云服务器ECS实例。

    1. 进入传统型负载均衡CLB控制台。

    2. 在左侧导航栏中选择实例管理 ,找到目标实例查看服务地址

      image

    3. 在浏览器中新建页面,并访问负载均衡的服务地址 。界面显示的内网IPECS01服务器或ECS02服务器的内网地址 。

      说明

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

      image

    4. 刷新浏览器页面,显示的内网IP将发生变化,变为ECS02(或ECS01)的内网地址。重复刷新操作,观察内网IP是在两个云服务器的内网地址间轮流更换。

      image

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

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

    1. 进入传统型负载均衡CLB控制台。

    2. 在左侧导航栏中选择实例管理 ,单击目标实例的默认服务器组

      image

    3. 勾选已添加ECS01ECS02服务器左侧的勾选框 ,然后单击修改权重。

      image

    4. 修改权重对话框中,勾选设置不同的权重。分别设置两个实例的权重为3090。完成配置后,单击确定 ,生效配置信息。

      说明

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

      image

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

      image

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

      image

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

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

    1. 在左侧导航栏中选择实例管理 ,单击目标实例ID

      image

    2. 选择监听选项卡 ,监听页面点击右侧的修改监听配置

      image

    3. 配置监听高级配置区域,单击修改

      image

    4. 单击开启会话保持 ,在会话保持超时时间文本框输入180(即 3 分钟),完成后单击下一步

      image

    5. 下面的后端服务器健康检查配置审核页面都采用默认值 ,依次完成配置。提交成功后如下图所示。

      image

    6. 返回到高级配置页面 ,会话保持状态已开启 。

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

    image

  5. 我们关闭开启会话保持的那台ECS 。默认服务器组页面,已添加的服务器中,单击目标ECS的实例ID。

    说明

    多次刷新后,请求在一定时间内始终被转发到同一台后端服务器,那么此服务器开启了会话保持。

    image

  6. 实例详情页面,单击停止。在停止实例对话框中,单击确定

    image

    image

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

    image

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

    image

  8. 切换至监听选项卡,健康状态变为异常

    image

  9. 同样的,返回传统型负载均衡控制台。在左侧导航栏中选择实例管理 ,查看实例也会出现异常报警。

    image

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

    image

  11. 结果证明,当某一台ECS服务器出现异常后,负载均衡会自动将请求发送到健康检查状态正常的ECS上。

清理资源

  • 在完成实验后,如果无需继续使用资源,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定

    image

  • 在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。

    image