负载均衡SLB

负载均衡SLB,第1张

为了应对高并发,我们引入了负载均衡,就是将原本需要一台服务器处理的业务,分配给了多台服务器进行处理,而分配的规则就是SLB算法。

SLB(server load balance)是负载均衡的缩写。

负载均衡主要有三种算法:

①轮训法

通过将用户的请求轮流分配给配置好的服务器进行解析

②随机法

通过随机因子分配给不同的服务器,通过分散性,达到均衡

③最小连接法

通过选择最少连接的服务器进行分配,就是能者多劳

负载均衡主要有三种实现方法:

①dns轮训

通过dns解析到不同的ip来进行负载均衡

②反向代理

一般通过nginx进行代理解析,服务请求先到达nginx代理服务器,然后又nginx进行转发

③NAT(LVS)

该技术通过一个地址转换网关将每个外部连接均匀转换为不同的内部服务器地址,因此外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载均衡的目的.

目前阿里云提供的SLB服务还是很方便使用的,只需要登录管理后台,然后选择开通SLB服务,然后添加配置对应的ECS服务器就可以使用了。

我们一起来快速认识一下,负载均衡——SLB。负载均衡SLB是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。包含两种含义:一是通过流量分发,扩展应用系统的服务能力;二是消除单点故障,提高应用系统的可用性。

应用场景

我们具体来看一看它的使用场景。

第一个使用场景的是用于高访问量的业务。

当你的应用访问量非常大,单台的服务器已经无法承载这个访问量的时候,就可以使用负载均衡,将流量分发到不同的服务器上去。

第二个场景是横向扩张系统。

当你已经使用了负载均衡,在业务有波动时可以在后端非常方便的添加和减少ECS来调整自己应用的服务能力。

第三个应用场景是消除单点故障。

当我们在使用负载均衡时,后端有多台ECS在同时工作的。一旦其中一台ECS上的应用发生了故障,那么负载均衡会通过一个健康检查的机制来及时的发现这个故障,并且能屏蔽对这台ECS的流量转发,然后将用户的请求转发到另一台正常工作的ECS实例上。

同城的容灾

阿里云负载均衡可以实现同地域多可用区之间同地域容灾,当主可用区出现故障是,可以在短时间内切换到另一备用可用区,以恢复服务能力。同时,主可用区恢复访问时,它会自动切换到主可用区。

跨地域容灾

跨地域容灾通过云解析做智能DNS,将域名解析到不同地域的负载均衡实例地址下,以实现全局负载均衡,当某个地域出现不可用时,暂停对应解析即可实现所有用户访问不受影响。

配置负载均衡

下面我们来演示一下负载均衡该如何去配置。

首先要做好准备工作,我们需要开通一台负载均衡实例和与负载均衡同一个地域的两台ECS服务器。

创建好以后,我们就可以在负载均衡的控制台看到这样一台实例了。

接下来,我们要给这个负载均衡创建一个监听。“监听”可以简单的理解为对应后端服务器里面的一个应用,比如一个网站我们来点击监听,然后点击添加监听。

假设我们的后端服务器里面有一个http的网站前端协议端口,我们可以将前后端协议端口TCP都写成80,然后根据自己的需要来选择调度算法,其实就是流量的转发方式。

下一步是健康检查,我们可以选择TCP方式。

健康检查端口会默认的和后端服务器的端口保持一致,直接确认就好了。现在,一个监听就配置好了。

接下来要去规定这台负载均衡的后端服务器是哪些。点击后端服务器,然后点击未添加服务器,将我们刚才创建的两台服务器勾选,然后批量添加就可以了。

这里有一个权重需要大家注意一下,这里的权重就是一个比例的概念,如果两台服务器写的都是100,流量将会以1:1的方式被转发到后端的两台服务器上。

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

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

负载均衡应运而生

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

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

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

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

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

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

<img src="https://upload-images.jianshu.io/upload_images/20425542-fa1a73a6dc138f09.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="4.登陆.png" style="zoom:50%" />

<img src="https://upload-images.jianshu.io/upload_images/20425542-4d17f4b440d7c9a5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="5.登陆.png" style="zoom:50%" />

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

<img src="https://upload-images.jianshu.io/upload_images/20425542-3bad79d4ddfed80d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="6.png" style="zoom: 67%" />

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

b.点击修改

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

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

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

a.进入实例

b.点击停止

<img src="https://upload-images.jianshu.io/upload_images/20425542-e7d5f08534cd1938.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="28.png" style="zoom:67%" />

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

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

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


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/61937.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-27
下一篇2023-02-27

发表评论

登录后才能评论

评论列表(0条)

    保存