负载均衡浅析(更新ing)

1.什么是负载均衡

简单地说,就是将请求(或者说流量)按照既定规则分发给多个真实后端服务器的过程。

2.为什么需要负载均衡

2.1 没有负载均衡的应用架构

在这里插入图片描述

会有什么问题?

用户通过浏览器直接访问后端服务。当请求量过于庞大,超出了服务器处理请求的极限, 或者服务器因其他原因导致宕机时,都会导致用户的访问速度变慢甚至无法访问。(单点故障)

解决办法:Scale out 水平扩展

Scale up垂直扩展虽然可以增强单机处理能力,但是依旧会出现单点故障导致服务不可用。因此可以通过Scale out水平扩展增加服务器数量来减小因单点故障导致的服务不可用。

2.2 水平扩展

在这里插入图片描述

水平扩展后,即使一台服务器宕机,用户请求也会访问到其他正常的服务器上。

会有什么问题?

由哪台服务器处理用户请求呢?总不能每一台都去处理吧?

解决办法:负载均衡

2.3 负载均衡应用架构

在这里插入图片描述

添加了负载均衡服务器,就可以将用户的请求按照既定的算法转发到对应的后端server节点上。

好处

1、解决并发压力,提高应用处理性能

2、提供故障转移,实现高可用

3、可扩展性(水平扩展)

4、安全防护。(黑白名单等)

需要注意的是

服务器应设置成无状态的,即不存储请求上下文,这样子每个服务器节点对于用户的请求返回的结果都是相同的。换言之,用户不需要每次都请求到同一服务器,也减小了相同用户对单一服务器的压力。

3.负载均衡的种类

3.1 DNS负载均衡

在这里插入图片描述

DNS服务器中会存储域名到ip地址的映射关系。

请求-响应流程

1、用户在浏览器上输入访问域名 www.bilibili.com

2、浏览器向DNS服务器发起请求

3、DNS服务器通过轮询算法,找到www.bilibili.com的服务器ip地址(119.3.77.172)

4、DNS服务器将解析出来的ip返回给浏览器(119.3.77.172)

5、浏览器拿着从DNS服务器那获取到的ip地址,去访问真实服务器

6、服务器处理完请求后,返回响应。

优点

部署简单、成本低、服务器可以位于互联网的任意位置

缺点

1、DNS缓存导致访问到已下线的服务

2、由于

负载均衡健康检查是一种用于监测和维护服务器状态的机制。它的原理是通过定期发送请求到服务器,并根据服务器的响应结果判断其是否健康,进而进行负载均衡的决策。 具体来说,负载均衡器会周期性地向后端服务器发送健康检查请求。这些请求可以是简单的ping请求,也可以是更复杂的应用层请求,如HTTP请求。服务器在接收到健康检查请求后,会根据自身的状态进行响应。通常情况下,如果服务器正常运行,它会返回一个成功的响应;如果服务器出现故障或超过了一定的负载阈值,它可能会返回一个错误的响应或者无响应。 负载均衡器接收到后端服务器的响应后,会根据设定的规则进行判断,以决定如何分配流量。如果服务器返回的是成功的响应,那么负载均衡器就会将一定比例的流量分发给该服务器;如果服务器返回的是错误响应或无响应,负载均衡器则会将该服务器暂时从可用服务器列表中剔除,避免将流量分发给不健康的服务器。 通过周期性地进行健康检查,并根据服务器的响应结果进行动态的负载均衡决策,可以确保流量被均匀地分发到健康的服务器上,从而提高系统的可用性和性能。 需要注意的是,不同的负载均衡器实现可能会有差异,其具体的健康检查原理和配置方式可能会有所不同。此处所述是一种常见的健康检查方式,供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值