负载均衡的知识点

目录

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://www.hqwc.cn/news/18517.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx基本使用

这是一份完整的nginx配置文件: #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mi…

Markdown基本用法

目录 1 字体倾斜 1.1 加* 1.2 加_ 2 字体加粗 2.1 加** 2.2 加__ 3 字体上带删除线 4 文字变标题 5 超链接 5.1 直接输入地址 5.2 将超链接改成文字 5.2.1 同行写法 5.2.2 不同行写法 6 文字前加 6.1 号 6.2 *号 6.3 -号 7 有序列表 8 …

2023数学建模国赛常用算法-Topsis优劣解距离法

更多国赛数学建模资料思路,关注文末! 1 优劣解距离法(TOPSIS)简介 1.1 概念 TOPSIS 法是一种常用的组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。基本过程为基于…

客户端是win10远程连接ubuntu后图形化执行程序verdi

一、安装xlaunch 1.1 搜索vcxsrv安装即可 1.2 对vcx进行配置,参考 将ubuntu终端打开的GUI图形界面窗口显示在windows上_heusjh的博客-CSDN博客https://blog.csdn.net/m0_51194302/article/details/128768284#:~:text%E5%B0%86ubuntu%E7%BB%88%E7%AB%AF%E6%89%93%…

DataFun: ChatGPT背后的模型详解

ChatGPT背后的模型详解 Overview Transofrmer 各个构件都有一定的作用 Multi-head self attention 每个字的重要性不一样,学习QKV三个矩阵(query,key,value) 多组QKV RLHF ChatGPT训练过程 思维链 COT

Unreal 5 游戏框架

之前,只是简单的实现了一些特定的功能,这几天一直在学习官方的案例,学习了Lyra初学者项目和Action RPG的项目,也从中学习到了很多功能的使用,并对基础的架构设计有了初步的认识。 接下来,将对基础的一些设置…

41.RocketMQ之高频面试题大全

消息重复消费 影响消息正常发送和消费的重要原因是网络的不确定性。 引起重复消费的原因 ACK 正常情况下在consumer真正消费完消息后应该发送ack,通知broker该消息已正常消费,从queue中剔除。当ack因为网络原因无法发送到broker,broker会认为…

SpringBoot源码分析(4)--Environment(下)/配置文件加载原理

SpringBoot源码分析 SpringBoot源码分析(1)–SpringBootApplication注解使用和原理/SpringBoot的自动配置原理详解SpringBoot源码分析(2)–SpringBoot启动源码(万字图文源码debug讲解springboot启动原理)SpringBoot源码分析(3)–Environment简介/prepareEnvironment准备环境&a…

已解决‘mongo‘ 不是内部或外部命令,也不是可运行的程序

已解决(MongoDB安装报错)‘mongo’ 不是内部或外部命令,也不是可运行的程序 报错代码 粉丝群里的一个小伙伴安装完MongoDB后,在cmd中启动,却说不是可运行的命令? 报错原因 报错原因:由于没有配置环境变量的…

《TCP/IP网络编程》第3,4章学习记录

基础知识: struct sockaddr_in {sa_family_t sin_family; //地址族(Address Family)uint16_t sin_port; //16位TCP/UDP端口号struct in_addr sin_addr; //32位IP地址char sin_zero[8]; //不使用 }sa_family_t包括: (1)AF_INET,IPv4网络协议…

CVE-2023-28432-MinIO集群模式信息泄露漏洞流量分析

简介 MinIO是一个开源对象存储系统。 在其RELEASE.2023-03-20T20-16-18Z版本(不含)以前,集群模式部署下存在一处信息泄露漏洞,攻击者可以通过发送一个POST数据包获取进程所有的环境变量,其中就包含账号密码MINIO_SEC…

轻量服务器域名无法解析怎么排查?

​  轻量服务器域名无法解析是指在DNS(域名系统)解析过程中,无法将域名转换为相应的IP地址。DNS可帮助该域名与代表该网站在互联网上的位置的数字 IP 地址相关联,帮助我们找到并连接到目标网站。因此,当我们无法解析域名时,就无…