实验概述

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

本实验通过使用阿里云负载均衡SLB以及对负载均衡SLB后端服务器ECS的权重进行修改,可以快速解决上述的问题。

实验目标

完成此实验后,可以掌握的能力有:

  1. 配置负载均衡SLB的监听规则,并将ECS实例部署到SLB后端;

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

阿里云负载均衡

架构

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

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

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

监听 (Listeners)

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

后端服务器(Backend Servers)

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

特点:

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

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

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

阿里云负载均衡基础架构

负载均衡采用集群部署,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。

阿里云当前提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡服务。

  • 四层采用开源软件LVS(Linux Virtual Server)+ keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。
  • 七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性

如下图所示,各个地域的四层负载均衡实际上是由多台LVS机器部署成一个LVS集群来运行的。采用集群部署模式极大地保证了异常情况下负载均衡服务的可用性、稳定性与可扩展性。

LVS集群内的每台LVS都会进行会话,通过组播报文同步到该集群内的其它LVS机器上,从而实现LVS集群内各台机器间的会话同步。如下图所示,当客户端向服务端传输三个数据包后,在LVS1上建立的会话A开始同步到其它LVS机器上。图中实线表示现有的连接,图中虚线表示当LVS1出现故障或进行维护时,这部分流量会走到一台可以正常运行的机器LVS2上。因而负载均衡集群支持热升级,并且在机器故障和集群维护时最大程度对用户透明,不影响用户业务。

实验步奏

访问两台服务器

image-20230617112423356

image-20230617112435617

进入负载均衡界面

image-20230617113400713

配置监听规则的基本信息

  1. 在弹出的页面中,选择负载均衡协议为HTTP监听端口80;然后点击高级配置右侧的修改按钮:

  1. 在展开的高级配置中,查看到默认会话保持的状态为关闭。不做任何修改,直接点击下一步;

  1. 选择默认服务器下方的继续添加,将两台已创建的ECS实例添加到SLB后端。

  1. 在弹出的页面中勾选两台已创建的ECS实例,并点击下一步

  1. 在弹出的页面点击添加

  1. 选择已添加的ECS实例的端口为 80,并点击下一步

  1. 健康检查 配置中,不做任何修改,保持健康检查开启状态,点击下一步

  2. 提交。

小结

  • 验证负载均衡的工作原理;
  • 验证通过配置不同后端服务器权重,将用户的请求按比例分发到不同后端服务器;
  • 验证在一台后端服务器开启会话请求时,请求在会话开启的时间内只会分发到这一台服务器

本文是实验记录,源地址:负载均衡使用初体验