Spring Cloud-Ribbon
1、负载均衡的意义
- 简单的来说:先将集群,集群也就是把一个的事情交给多个人去做,假如要做1000个产品给一个人做要十天,我叫十个人去做就是一天,这就是集群。负载均衡就是用来控制集群的,把做的最多的人让他慢慢做,休息一下,把做的最少的人让他加点工作量让他多做点。
- 在计算中,负载均衡可以改善跨计算机,计算机集群,网络连接,中央处理单元或者磁盘驱动器等多种计算资源的工作负载分布。负载均衡旨在优化资源使用,最大化吞吐量,最小化响应时间并避免任何单一资源过载。使用多个组件进行负载均衡而不是单个组件可能会通过冗余来提高可靠性和可用性。负载均衡通常涉及专用软件或硬件,例如多层交换机或域名服务器进程。
2、Ribbon是什么?
- Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法;
- Ribbon客户端组件提供一系列完善的配置项,如连接超时、重试等。简单来说,就是在配置文件中列出后面的所有机器,Ribbon会自动的帮助你基于某种规则(简单轮询、随即连接等)去链接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。(类似Nginx)
3、Nginx和Ribbon的区别?
- Nginx是反向代理同时可以实现负载均衡,nginx拦截客户端请求采用负载均衡策略根据upstream配置进行转发,相当于请求通过nginx服务器进行转发;
- Ribbon是客户端的负载均衡,从注册中心读取目标服务集群索引,返回获取到的目标服务信息。
4、Ribbon底层实现原理?
Ribbon使用discoveryClient从注册中心读取目标服务信息,对同一接口请求进行计数,使用%取余算法获取目标服务集群索引,返回获取到的目标服务信息。
5、@LoadBalanced注解的作用
开启客户端负载均衡。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?