阿里云ECS服务器SLB负载均衡实践

时间:2024-03-07 13:34:57

阿里云ECS服务器SLB负载均衡实践

负载均衡( Load Balance ):

其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。 

​ 负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

背景:

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

负载均衡应运而生

阿里云的负载均衡SLB(Server Load Balancer):

1.简介:

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

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

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

2.架构:

  • 负载均衡实例 (Server Load Balancer instances):运行的负载均衡服务,用来接收流量并将其分配给后端服务器
  • 监听 (Listeners): 监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。
  • 后端服务器(Backend Servers):一组接收前端请求的ECS实例。 最少两台服务器

3.原理:

原理.png

  1. 负载均衡服务首先创建出负载均衡实例,设置负载均衡实例的虚拟服务地址(即上图virtual IP);
  2. 同时后端服务器为服务器实例,拥有自己的IP地址(即上图real IP(1、2、3))
  3. 负载均衡服务通过计算,将访问浏览均衡的分配到多台服务器上

需求:本次实验最低需求两台云服务器ECS

一、云服务器状态确认

1创建实例.png

上图创建了两台云服务器ECS实例和一个负载均衡实例,它们各自拥有各自的弹性IP地址

验证两台云服务器ECS是否能正常访问

在浏览器两个页面分别输入两台云服务器ECS的弹性IP访问

2服务器1.png

2服务器2.png

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

在下面的实验中我们称:

后端服务器IP尾数为130:ECS-1

后端服务器IP尾数为130:ECS-2

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

二、负载均衡配置

1.登录

在阿里云登陆界面选择用RAM用户登录

3登陆.png

使用实验提供的子用户名称子用户名密码登陆阿里云管理控制台

4.登陆.png 5.登陆.png

登录后点击左侧 导航栏的 产品与服务 选择 负载均衡

6.png

2.配置负载均衡实例

7.png

a.左侧栏选择实例管理->上方选择地区->右下方点击“点我开始配置”

8设置监听端口.png

b.选择http负载均衡协议,填写http监听端口80,点击下一步

9.png

c.选择默认服务组,点击继续添加

10.png

d.勾选两台实例云服务器ECS,点击下一步

11.png

e.设置权重各位100,点击添加

12.png

f.填入b步骤相同的端口号,下一步

13.png

g.开启健康检查

14提交.png

h.检查一遍后,提交

15.png

16配置成功.png

17显示正常.png

等待一分钟左右,健康检查会显示正常

三、负载均衡验证

验证内容:

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

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

a. 在控制台点击左侧 实例管理 ,在右侧页面中的红框处看到负载均衡的 公网服务地址

18查看ip.png

该公网服务地址即为负载均衡实例的弹性IP地址

b.在浏览器上输入a的公网服务地址并访问

19 访问公网1.png

可见后端服务器IP尾数为131(ECS-2),但当我们刷新一遍后,如下图

19访问公网2.png

后端服务器IP尾数变为130(第二台ECS-1)

当我们不停的刷新,会发现后端服务器IP 实在这两台ECS的内外地址之间轮流转换

因为我们在第二步配置的两台ECS的权重是相同的

下一步我们试着改变两台ECS的权重不相同看看效果如何

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

a.进入控制台–选择负载均衡–实例管理–点击进入实例–默认服务器组,进入如下图所示

20修改权重.png

b.勾选两台服务器–点击修改权重

20修改权重2.png

c.设置权重 30,90,效果如下图

21.png

d.在浏览器中,刷新多次负载均衡服务地址的页面,统计页面的后端服务器IP

可以发现:每 4 次刷新,将有 3 次访问 权重90 的 ECS实例,1 次访问权重为 30 的 ECS实例。

总结:

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

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

a.实例管理界面—监听—修改监听配置

22修改监听.png

b.点击修改

23.png

c.开启会话保持、可选择修改会话保持超时时间

24会话保持.png

d.依次点击下一步,不修改

25依次完成不修改.png

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

19 访问公网1.png

当我们关闭会话保持的ECS-2

a.进入实例

26进入单个实例.png

b.点击停止

27.png

28.png

c.返回,显示如下图所示,ECS-2已关闭

29.png

d.在监听页面和实例管理页面,健康状态显示异常

30 监听异常.png

31实例管理异常.png

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

32.png