博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是客户端负载均衡
阅读量:5008 次
发布时间:2019-06-12

本文共 790 字,大约阅读时间需要 2 分钟。

服务端负载均衡

负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,但是一般情况下我们所说的负载均衡通常都是指服务端负载均衡,服务端负载均衡又分为两种,一种是硬件负载均衡,还有一种是软件负载均衡。

硬件负载均衡主要通过在服务器节点之间安装专门用于负载均衡的设备,常见的如F5。

软件负载均衡则主要是在服务器上安装一些具有负载均衡功能的软件来完成请求分发进而实现负载均衡,常见的就是Nginx。

无论是硬件负载均衡还是软件负载均衡都会维护一个可用的服务端清单,然后通过心跳机制来删除故障的服务端节点以保证清单中都是可以正常访问的服务端节点,此时当客户端的请求到达负载均衡服务器时,负载均衡服务器按照某种配置好的规则从可用服务端清单中选出一台服务器去处理客户端的请求。这就是服务端负载均衡。

客户端负载均衡

“Ribbo是一个基于HTTP和TCP的客户端负载均衡器,当我们将Ribbon和Eureka一起使用时,Ribbon会从Eureka注册中心去获取服务端列表,然后进行轮询访问以到达负载均衡的作用,客户端负载均衡中也需要心跳机制去维护服务端清单的有效性,当然这个过程需要配合服务注册中心一起完成。”

从上面的描述我们可以看出,客户端负载均衡和服务端负载均衡最大的区别在于服务清单所存储的位置。在客户端负载均衡中,所有的客户端节点都有一份自己要访问的服务端清单,这些清单统统都是从Eureka服务注册中心获取的。在Spring Cloud中我们如果想要使用客户端负载均衡,方法很简单,开启@LoadBalanced注解即可,这样客户端在发起请求的时候会先自行选择一个服务端,向该服务端发起请求,从而实现负载均衡。

 

转载于:https://www.cnblogs.com/xyhero/p/66e8307ee23b9515b6e3a781d6bb1bc0.html

你可能感兴趣的文章
对内存空间的理解
查看>>
Reorder List
查看>>
c 宏的定义
查看>>
log
查看>>
663 如何做“低端”产品?(如何把低端做得高端 - 认同感)
查看>>
JDBC 第九课 —— 初次接触 JUnit
查看>>
Windows核心编程:第10章 同步设备IO与异步设备IO
查看>>
浏览器加载、解析、渲染的过程
查看>>
Redis-cli 命令总结
查看>>
【NOIP 模拟赛】改造二叉树 最长上升子序列
查看>>
【BZOJ 4556】[Tjoi2016&Heoi2016]字符串 SAM+二分+主席树
查看>>
带参数的方法
查看>>
高精度阶乘
查看>>
冲刺6
查看>>
第二次实训作业
查看>>
【转】让学习体系化,造福一大波上进青年
查看>>
Git使用二:git与svn的区别与工作流程
查看>>
python接口自动化(五)--接口测试用例和接口测试报告模板(详解)
查看>>
SpringMvc之java文件下载
查看>>
jsp关闭或刷新浏览器(解决浏览器不兼容),请求后台onbeforeunload、onunload
查看>>