负载均衡的知识点

news/2024/7/7 21:33:35

目录

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

        


http://lihuaxi.xjx100.cn/news/1333446.html

相关文章

win10系统切换到macOS,开发环境与软件资源,目录清单

文章目录 1、生活2、文书3、开发4、算法5、美术6、科研 1、因为考研自习室或学校图书馆,随身携带游戏本(全能本)受限于不插电源就不续航和掉性能,以及风扇噪音非常大,以及发热很烫等问题。 2、所以想考虑给主力机换个…

提升1Panel的安全性:在Armbian上设置个性化SSL证书

文章目录 基础知识OpenSSLOpenSSL常用命令SSL证书与DDoS攻击SSL证书常见办法机构 armbian安装OpenSSLOpenSSL下载和安装生成私钥和证书生成私钥和证书提示信息的解释challenge password 可能遇到的错误 安装完成后的思考完整的操作演示 基础知识 OpenSSL OpenSSL是一个开源的…

C++学习第二十二天(deque容器及案例)

deque容器的基本概念 功能:双端数组,可以对头端进行删除和插入 deque和vector的区别 vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入和删除比较块 vector访问元素的速度比deque快&am…

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 Proteus仿真小实验: STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 功能: 硬件组成:STM32F103R6单片机 TM1637 4位数码管驱动电路2路0~20V电压测量模块2个电位器输出0-…

回归预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计学习总结参考资料 预测效果 基本介…

系统测试——postman的400错误

如果Headers中不勾选Host,调用接口就会报400 Bad Request错误。

基于nginx的waf方案naxsi源码理解(1)_naxsi介绍

naxsi是什么 naxsi是基于nginx(从技术上讲,它是一个第三方的nginx模块)的web应用防火墙。集成了libinjection做sql注入攻击和xss攻击检测。 检测策略有libinjection 的特征检测库 及 naxsi 自身的策略库,都支持自定义策略。 naxsi的源码位置: https://github.com/nbs-sy…

k8s 就绪探针

【k8s 系列】k8s 学习二十,就绪探针 提起探针,不知兄dei 们是否有印象,之前我们分享过存活探针,分享存活探针是如何确保异常容器自动重启来保持应用程序的正常运行,感兴趣的可以查看文章 k8s 系列k8s 学习十七&#x…