springcloud ribbon 饥饿加载原理解析

 更新时间:2024年04月25日 10:08:37   作者:今天的接口写完了吗?  
这篇文章主要介绍了springcloud ribbon 饥饿加载原理解析,饥饿加载特别适用于对启动性能要求较高的场景,如系统启动初期就有高并发请求的情况,感兴趣的朋友跟随小编一起学习吧

一、未饥饿加载前

我们的服务者端口是8081,消费者端口是8085

当我们将两个项目都启动的时候,在消费者里日志级别设置未debug,发现找不到8081

二、开启饥饿加载

# 配置饥饿加载,d1为服务名
ribbon.eager-load.enabled=true
ribbon.eager-load.clients=d1  

如果多个服务开启饥饿模式,使用逗号分隔。 clients: userservice,orderservice 

三、饥饿加载的原理

①特点:我们可以理解为一种优化策略,

 应用启动时,Ribbon会根据配置立即向服务注册中心发起请求,获取指定服务的所有实例信息,并将其缓存起来。

② 优点:

  • 减少延迟:首次调用服务时不再需要等待从服务注册中心获取实例列表的时间,提高服务调用的响应速度。
  • 避免雪崩效应:特别是在服务集群规模较大或网络延迟较高的情况下,避免因首次请求时集中拉取服务列表引发的网络拥塞或超时问题。
  • 提升用户体验:特别适用于对启动性能要求较高的场景,如系统启动初期就有高并发请求的情况。

③ 缺点:

  • 增加资源消耗:启动时即加载所有服务实例可能导致额外的网络资源消耗,特别是当服务实例数量众多时。
  • 数据实时性问题:如果服务实例的注册状态在应用启动后发生变化(比如新增、移除或状态变更),饥饿加载的数据可能不会立刻反映最新的服务列表,需要配合轮询或其他更新机制来保持数据同步。
  • 注意:虽然以上描述了Ribbon的一种潜在优化策略,但在官方文档或最新版本的Spring Cloud体系中,对Ribbon的饥饿加载特性并没有明确支持。不过开发者可以根据需求自行实现类似的逻辑,以实现在应用启动时预先加载服务实例信息的目的。

到此这篇关于springcloud - ribbon 饥饿加载的文章就介绍到这了,更多相关springcloud ribbon 加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java数据导入功能之读取Excel文件实例

    Java数据导入功能之读取Excel文件实例

    这篇文章主要介绍了Java数据导入功能之读取Excel文件实例,本文给出了jar包的下载地址以及读取Excel文件的代码实例,需要的朋友可以参考下
    2015-06-06
  • Quartz作业调度基本使用详解

    Quartz作业调度基本使用详解

    这篇文章主要为大家介绍了Quartz作业调度基本使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • java实现查找PDF关键字所在页码及其坐标

    java实现查找PDF关键字所在页码及其坐标

    这篇文章主要介绍了java实现查找PDF关键字所在页码及其坐标的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 模拟Ping操作的一个Java类

    模拟Ping操作的一个Java类

    这篇文章主要为大家详细介绍了一个模拟Ping操作的Java类,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • SpringBoot使用MockMvc测试get和post接口的示例代码

    SpringBoot使用MockMvc测试get和post接口的示例代码

    Spring Boot MockMvc是一个用于单元测试的模块,它是Spring框架的一部分,专注于简化Web应用程序的测试,MockMvc主要用来模拟一个完整的HTTP请求-响应生命周期,本文给大家介绍了SpringBoot使用MockMvc测试get和post接口,需要的朋友可以参考下
    2024-06-06
  • Java 设计模式之责任链模式及异步责任链详解

    Java 设计模式之责任链模式及异步责任链详解

    顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式
    2021-11-11
  • Java实现画图的详细步骤(完整代码)

    Java实现画图的详细步骤(完整代码)

    今天给大家带来的是关于Java的相关知识,文章围绕着Java实现画图的详细步骤展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Spring Boot实现微信扫码登录功能流程分析

    Spring Boot实现微信扫码登录功能流程分析

    这篇文章主要介绍了Spring Boot 实现微信扫码登录功能,介绍了授权流程代码和用户登录和登出的操作代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Java binarysearch方法原理详解

    Java binarysearch方法原理详解

    这篇文章主要介绍了Java binarysearch方法原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 如何修改覆盖spring boot默认日志策略logback详解

    如何修改覆盖spring boot默认日志策略logback详解

    这篇文章主要给大家介绍了关于如何修改覆盖spring boot默认日志策略logback的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10

最新评论