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 加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringCloud Gateway路由组件详解

    SpringCloud Gateway路由组件详解

    SpringCloud Gateway 是 Spring Cloud 的一个全新项目,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。这篇文章主要介绍了SpringCloud Gateway网关作用,需要的朋友可以参考下
    2023-02-02
  • mybatis 为什么千万不要使用 where 1=1

    mybatis 为什么千万不要使用 where 1=1

    这篇文章主要介绍了mybatis 为什么千万不要使用 where 1=1,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Java实现双端链表LinkedList

    Java实现双端链表LinkedList

    本文主要介绍了Java实现双端链表LinkedList,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 微服务springcloud 03.Eureka实现高可用的过程

    微服务springcloud 03.Eureka实现高可用的过程

    这篇文章主要介绍了微服务springcloud 03.Eureka实现高可用的相关资料,本文给大家介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Druid核心源码解析DruidDataSource

    Druid核心源码解析DruidDataSource

    这篇文章主要为大家介绍了Druid核心源码解析DruidDataSource,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • IDEA生成patch和使用patch的方法实现

    IDEA生成patch和使用patch的方法实现

    比如你本地修复的 bug,需要把增量文件发给客户,很多场景下大家都需要手工整理修改的文件,并整理好目录,这个很麻烦,那有没有简单的技巧呢?本文主要介绍了IDEA生成patch和使用patch的方法实现,感兴趣的可以了解一下
    2023-08-08
  • SpringBoot整合JPA框架实现过程讲解

    SpringBoot整合JPA框架实现过程讲解

    在开发中,我们通常会对数据库的数据进行操作,Sprirng Boot对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持
    2022-12-12
  • Java安全后端返回文件流方式

    Java安全后端返回文件流方式

    这篇文章主要介绍了Java安全后端返回文件流方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • maven引入第三方jar包配置详解

    maven引入第三方jar包配置详解

    这篇文章主要为大家介绍了maven引入第三方jar包配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 详解spring中使用Elasticsearch的代码实现

    详解spring中使用Elasticsearch的代码实现

    本篇文章主要介绍了详解spring中使用Elasticsearch的代码实现,具有一定的参考价值,有兴趣的可以了解一下
    2017-05-05

最新评论