随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

Dubbo源码剖析五之服务本地缓存

  Dubbo调用者需要通过注册中心(例如:ZK)注册信息,获取提供者。但是如果频繁从ZK获取信息肯定会存在单点故障问题,所以Dubbo提供了将提供者信息缓存在本地的方法。

  Dubbo在订阅注册中心的回调处理逻辑当中会保存服务提供者信息到本地缓存文件当中(同步/异步两种方式),以URL维度进行全量保存。Dubbo具体在服务引用过程中会创建registry对象并加载本地缓存文件,同时优先订阅注册中心,订阅失败后会范围本地缓存文件内容获取服务提供信息。

  1、从构造方法入手,主要用于确定需要保存的文件信息。同时从系统中读取已有的配置信息。

    

  2、关注properties属性,这个属性设置值只有一个地方:saveProperties,这是一个基于版本号的更改。

    

  3、具体如何保存文件呢?主要关键在于利用文件级锁来保证同一时间只会有一个线程执行。

    

    

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted on   池塘里洗澡的鸭子  阅读(524)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示