帮忙么网 > Dubbo > 当前页面

Dubbo的缓存机制了解吗

2024-11-01 NEW个对象

Dubbo的缓存机制了解吗?在Dubbo里有两种缓存:

1、调用结果缓存

2、缓存服务提供者的地址列表

调用结果缓存:客户端缓存和服务端缓存

客户端缓存:

客户端缓存是指在服务消费者(客户端)一侧缓存调用结果,避免多次调用相同请求时每次都访问服务提供者。

<dubbo:reference interface="com.example. DemoService" ref="demoService" cache="lru"/>

服务端缓存:

服务端缓存是在服务提供者(服务端)一侧缓存调用结果,通常用于处理重复请求,提高服务端的响应速度,减少资源消耗。服务端缓存的使用较少,因为它会占用服务端的资源,在请求量较大时也可能带来额外压力。

<dubbo:service interface="com.example.DemoService" ref="demoService" cache="lru"/>

原理:


Dubbo 通过 CacheFilter 过滤器,提供结果缓存的功能,目前提供三种实现:


lru :基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。

threadlocal :当前线程缓存。

jcache :暂不作了解

消费者会在启动时从注册中心拉取并缓存服务提供者的地址列表。即便注册中心挂掉了,消费者依然能够根据本地缓存的地址信息找到服务提供者并发起调用。只有当服务提供者发生了变动(如新增或下线)时,才需要重新从注册中心获取最新信息。

上一篇:

下一篇:Spring Cloud与Dubbo的冲突吗?

相关文章

  • Spring Cloud与Dubbo的冲突吗?

    之前别人问我Spring Cloud与Dubbo的区别。 我这样回答: Spring Cloud是解决分布式系统开发的工具,Dubbo是一个RPC框架,两者有本质上的区别。

    NEW个对象 2024-11-02

  • Dubbo的缓存机制了解吗

    Dubbo的缓存机制了解吗?

    NEW个对象 2024-11-01

推荐文章