负载均衡的知识点

负载均衡是通过分散用户请求到多台服务器,提高系统并发处理能力。它分为客户端和服务器端负载均衡,常见的软件实现有四层和七层负载均衡,硬件实现则通常昂贵。常见的负载均衡算法包括随机法、轮询法、一致性Hash和最小连接法。服务端七层负载均衡可借助DNS解析或反向代理如Nginx实现。客户端负载均衡则可以直接在应用中集成如SpringCloudLoadBalaner等组件。
摘要由CSDN通过智能技术生成

目录

1.负载均衡是什么

2.负载均衡的分类

客户端负载均衡:

服务端负载均衡:

软件实现:根据OSI模型可以分为四层负载均衡和七层负载均衡        

硬件实现:

附1:客户端和服务端:

附2:OSI四层/七层模型:

3.负载均衡的常见算法

随机法:

轮询法:

一致性Hash法:

最小连接法:

4.服务端的七层负载均衡实现

5.客户端负载均衡的实现


1.负载均衡是什么

概念:将用户请求派分到不同服务器上处理,从而提高系统的并发处理能力

图解:比如应用发送请求,用户登录,登录后被Nginx转发到不同的后端服务器上进行处理

2.负载均衡的分类

客户端负载均衡:

        客户端自身维护一份服务器地址列表,发送请求之前会根据负载均衡算法选择某一个服务器处理请求

服务端负载均衡:

软件实现:根据OSI模型可以分为四层负载均衡七层负载均衡        

        四层负载均衡:在传输层工作,主要协议是TCP/UDP,负载均衡器会基于数据包中拿到源端口地址和目的端口地址,通过负载均衡算法将数据包转发到后端服务器

        七层负载均衡:在应用层工作,主要协议是HTTP,负载均衡器会读取HTTP报文的数据内容(比如cookie),通过负载均衡算法做出决策

        现在一般使用七层负载均衡算法,使用Nginx实现

硬件实现:

        通过专门的硬件设备实现负载均衡,但硬件设备通常很贵,因此一般用的都是软件负载均衡

附1:客户端和服务端:

客户端:常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件

服务端:为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据

附2:OSI四层/七层模型:

(图片来源于百度百科)

3.负载均衡的常见算法

随机法:

        未设置权重,则所有服务器被访问的概率相同

        设置权重,则权重高的服务器被访问的概率大

        缺点:由于所有服务器被访问的概率相同,可能有些服务器一直无法被访问到

轮询法:

        未设置权重,则请求按照时间顺序分配到不同的服务器处理(轮询:轮流询问)

        设置权重,则权重高的服务器被访问的次数较多

一致性Hash法:

        相同参数(比如IP)的请求发送到同一台服务器处理

最小连接法:

        选择当前处理的请求数最小的服务器来处理请求,提高服务器的利用率

4.服务端的七层负载均衡实现

DNS解析:

        客户端发送DNS请求到DNS服务器,DNS服务器中存储着多个IP地址,DNS服务器返回给客户端一个IP地址,客户端根据IP地址对应请求不同的服务器,从而实现轮询的负载均衡

反向代理:

        客户端将请求发送给反向代理服务器(比如Nginx),反向代理服务器按照负载均衡策略选择服务器集群中的服务器,从目标服务器获取数据后返回给客户端

5.客户端负载均衡的实现

直接使用负载均衡组件实现:

        比如Java当中负载均衡组件:Spring Cloud Load Balaner

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值