牛人带你通透理解高可用网络基础架构的关键组件:负载均衡机制
off999 2025-09-29 09:45 27 浏览 0 评论
上篇给大家介绍的内容是微服务网关:Zuul源码解析,相信大家已经领会并且贯通了;那么本文将给大家介绍的内容是负载均衡:负载均衡机制。
负载均衡
负载均衡(Load Balance)是分布式网络环境中的重要机制,在微服务架构中,通过负载均衡可以实现系统高可用性、集群扩容等。
负载均衡机制也决定着整个系统的性能和稳定性。
负载均衡机制
负载均衡可以说是高可用网络基础架构的关键组件,也是一种集群技术。它通过将网络流量分担到不同的网络服务器实现了业务容量的水平横向扩展,负载均衡不仅可以提升集群中不同服务器实例的负载性能,还可以保证集群整体的稳定性,也可以根据一定的负载策略实现灰度发布、蓝绿部署、A/B测试等。
通过硬件或者软件的方式负载均衡会维护一个服务列表清单,当用户发送请求时,它会将请求发给负载均衡器,后者根据(轮训、随机、加权)算法从可用服务列表中取出一台服务器的地址,进行请求转发,完成负载功能。
负载均衡技术优势
● 高性能:负载均衡技术将业务请求均衡地分配到多台设备或多条链路上,提高了整个系统的性能。
● 可扩展性:负载均衡技术可以方便地增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求。
● 高可靠性:单个甚至多个设备或链路发生故障不会导致业务中断,提高了整个系统的可靠性。
● 可管理性:大量的管理工作都集中在应用负载均衡技术的设备上,设备群或链路只需要通常的配置和维护即可。
● 透明性:对用户而言,集群等同于可靠性高、性能好的设备或链路,用户感知不到也不必关心具体的网络结构,增加和减少设备或链路均不会影响正常的业务。
负载均衡有很多不同的分类方法,比如硬件负载均衡和软件负载均衡。F5就是比较常见的硬件负载均衡产品。F5以性能稳定著称,很多功能是软件负载均衡不具备的(应用交换、会话交换、状态监控、智能网络地址转换、通用持续性等)。然而缺点也比较明显,除了设备价格昂贵、配置冗余,更重要的是没有软件负载均衡灵活和不能满足定制化的需求。
软件负载均衡中,基于DNS的负载均衡是常用的解决方案。此外,Nginx可以说是Web应用服务领域使用最为广泛的前置软件负载系统,Nginx可以根据系统与应用的状况来分配负载,对于复杂的应用来说,有很好的性价比。LVS(Linux Virtual Server)是一个虚拟服务器集群系统,采用IP地址均衡技术和内容请求分发技术实现负载均衡。
负载均衡的另外一种分类方式是根据负载服务器清单列表存放的位置划分为服务端负载均衡和客户端负载均衡。
服务端负载均衡
类似于Nginx或者F5,它们都可以归类为服务端负载均衡,所有后端服务器地址清单通过注册中心或者集中配置的方式存储在服务器中。负载均衡器也可以通过心跳的方式动态调整服务列表清单的内容,从而使客户端总能访问到一个在线、可用的后端服务。服务端负载均衡如下图所示。
客户端负载
在客户端负载均衡中,客户端自己维护一份服务器地址清单。
Ribbon就是客户端负载均衡工具,Ribbon缓存维护服务列表,如果服务实例注销或宕机,Ribbon能够自行将其剔除。Ribbon利用从EurekaServer中读取的服务信息列表(存储在本地即客户端中),在调用服务实例时合理地进行负载,直接请求到具体的微服务。Ribbon客户端负载均衡如下图所示。
另外,需要说明的是,我们也可以把Ribbon作为服务端负载均衡使用,当我们把Ribbon放入Zuul网关时,对于请求客户端而言,Zuul网关+Ribbon的组合就可以完成服务端的负载均衡。
本文给大家讲解的内容是负载均衡:负载均衡机制
- 下篇文章给大家讲解的内容是四层与七层负载均衡以及负载均衡算法
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
相关推荐
- win7安全模式进去也黑屏(win7安全模式黑屏只有鼠标能动)
-
分辨率设置超出范围或者显卡驱动有问题导致的。解决方法:1、开机按F8选择安全模式进入安全模式。2、在安全模式桌面用鼠标右键点我的电脑,属性,打开设备管理器,展开设备管理器,用鼠标右键选择显卡驱动卸载...
- win7激活程序(win7激活程序怎么用)
-
windows7的激活方法如下1、首先打开计算机,在计算机内找到暴风激活工具选项并使用鼠标右键点击,然后在弹出的选项栏内找到“以管理员身份运行”选项并使用鼠标点击。2、激活工具自动识别到win7版本,...
- 台式电脑联网怎么连接(台式电脑以太网怎么连接)
-
电脑连接家庭网络连接方法如下1.首先我们要检查自己的网络连接。检查网络连接的方法很简单,我们只需要把鼠标放到屏幕的上方,用右键点击一下桌面,点击“个性化”即可。 2.进入页面后我们点击左上方的主页。...
- 鸿蒙os系统(鸿蒙OS系统更新)
-
鸿蒙os是分布式模块化的一个系统!所谓的模块化就是它可以根据终端的不同,开发成不同的模块!但最底层都是一样的,都是鸿蒙!所以你会在电视,智能手表,手机等等产品上看到鸿蒙!鸿蒙是华为基于万物互联而打造的...
- 360手机助手极速版(360手机助手官方下载安装)
-
可以的,手机助手里面有很多功能,有手机加速悬浮球一、打开设定-关于设备-系统更新-更新。通过在线固件升级(FOTA)服务下载并安装固件更新。注:使用FOTA软件升级所需条件:1、稳定的WI-FI或...
- 幻影wifi手机版官网(幻影wifi2020官网版)
-
第一步、下载最新版“幻影Wifi破解软件”。 第二步、下载之后安装至手机。 第三步、安装成功后,就可以打开软件,之后该幻影Wifi破解软件会自动扫描接收到信号的WIFI,并且会显示几格信号...
- 怎么把c盘扩大(pe系统怎么把c盘扩大)
-
C盘的内存通常是指C盘的存储空间,而存储空间不能从别的盘直接增加,必须通过调整分区大小或者更换大容量硬盘来实现。具体操作可以通过以下两种方式之一:1.磁盘管理工具:在计算机的“控制面板”中找到“管理工...
- chrome 安卓下载(chrome安卓下载apk)
-
安卓手机可以先下载一个应用宝,然后在应用宝上下载一个谷歌地球,随后再下载一个ourplay,将之前下载的谷歌地球导入进ourplay就好了,谷歌地球就能使用了,我自己的手机就是这么操作的
- 最流畅的浏览器(浏览器流畅度排名)
-
我觉得QQ浏览器9.0就不错,我也是喜欢在浏览器上看视频,朋友给我推荐的这款。这款浏览器是以“快”著称的,体现在很多方面,上网速度快,平常看视频、玩游戏都是很流畅的,因为这款浏览器在系统的稳定性和流畅...
- sm总线控制器驱动下载(sm总线控制器是什么驱动程序)
-
SM总线控制器是主板控制芯片上的一个通信控制器.它主要是希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。MBus为系统和电源管理这样的任务提供了一条控制总线,使...
- 固态硬盘选择mbr还是gpt(固态硬盘选择mbr还是guid)
-
固态硬盘用mbr。用mbr,除速度快之外,系统支持度更高。此外,微软对于gpt的支持还不是很好,win7以前的系统基本不支持gpt。主引导记录(MBR),也被称为主引导扇区,是计算机开机后访问硬盘时所...
- win10专业版系统镜像下载(win10专业版镜像下载哪个版本)
-
方法一:去微软官方网站在线制作U盘启动安装盘:点击“立即下载工具”,下载后运行工具。选择"为另一台电脑创建介质。再选择制作U盘或ISO文件:点击下一步,会制作U盘启动安装盘或下载ISO...
- office软件免费下载安装(office下载免费版)
-
1、首先打开360安全卫士,在安全卫士首页找到软件管家,点击进入。2、进入到软件管家之后,在左侧的导航栏里面点击办公软件选项进入。3、然后在右侧找到office办公软件,正常情况下office办公软件...
- system error是什么意思(system error怎么办)
-
系统错误通常是由软件或硬件故障引起的,解决方法取决于具体的情况。首先,尝试重新启动系统并查看是否问题得以解决。如果问题仍然存在,可以尝试卸载最近安装的软件或驱动程序,或者恢复系统到之前的稳定状态。另外...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
