dubbo之结果缓存

结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用户加缓存的工作量。

  • lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。
  • threadlocal 当前线程缓存,比如一个页面渲染,用到很多portal,每个portal都要去查用户信息,通过线程缓存,可以减少这种多余访问。
  • jcache 与 JSR107 集成,可以桥接各种缓存实现。

缓存类型可扩展,参见:CacheFactory扩展点

配置如:

<dubbo:reference interface="com.foo.BarService" cache="lru" />

或:

<dubbo:reference interface="com.foo.BarService">
    <dubbo:method name="findBar" cache="lru" />
</dubbo:reference>
时间: 2024-12-28 14:36:17

dubbo之结果缓存的相关文章

借鉴dubbo实现自定义缓存

自定义缓存一般基于ConcurrentMap实现,实现缓存需要注意的点是缓存容器对象 本身依赖于 static final去存储对象,样例: ConcurrentMap<String, GenericServiceCache> cacheHolder = new ConcurrentHashMap<String, GenericServiceCache>();.虚拟机会在内存加载时 有特殊的初始化,如果通过类似单例方式创建对象会导致需要同步,而同步在高并发下导致性能变差, 更好的缓

Dubbo源码1(SPI)

SPI: http://blog.csdn.net/quhongwei_zhanqiu/article/details/41577159 Dubbo的SPI目的:获取一个指定实现类的对象,ExtensionLoader.getExtension(String name) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco } 实现路径: getExtensionLoader(Class<T> type) 就是为该接口new 一

springboot使用dubbo和zookeeper

2019-11-17 yls 创建服务接口模块 接口工程只提供接口,不提供实现,在后面的提供者和消费者中使用 在使用接口的模块中只需要写具体实现类,避免了在每个模块中重复编写接口 在接口中引入依赖包 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </

分布式RPC系统框架Dubbo

导读 Apache Dubbo是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. dubbo官网:点我直达 第一个Dubbo程序(小试牛刀) 创建业务接口工程 项目结构 创建包和接口类 安装项目 创建提供者Provider工程 项目结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&

jdk和dubbo的SPI机制

前言:开闭原则一直是软件开发领域中所追求的,开闭原则中的"开"是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的,“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代码.对于一个高度集成化的.成熟.稳健的系统来讲,永远不是封闭.固守的,它需要向外提供一定的可扩展的能力,外部的实现类或者jar包都可以调用它.在面向对象的开发领域中,接口是对系统功能的高度抽象,因为SPI可谓是"应运而生",本篇博客就开始走进SPI,探究java自身的SPI和Dubbo的S

国内一些大公司(阿里巴巴、腾讯、百度、网易、豆瓣等)的开源项目

阿里巴巴 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分.有很多重量级的项目,例如LVS.Tengine,或者很有实践价值的中间件,例如 MetaQ(分布式消息系统).dubbo(RPC框架).cobar(数据库中间件),或者是Java世界的工具,例如druid.fastjson. 都说国内Java公司的技术架构大部分来自阿里系,我觉得一方面来自阿里员工,一方面也可以来自阿里的开源项目. 地址有几个: 阿里巴巴中间件团队出品的开源软件以及商业云服务如下: RocketMQ 一款开源的高性

阿里巴巴中间件团队出品的开源软件以及商业云服务(转)

RocketMQ 一款开源的高性能消息中间件,天猫双十一大促必备削峰填谷利器,峰值近万亿消息量. https://github.com/alibaba/RocketMQ Corbar 基于Mysql的数据库服务中间件 https://github.com/alibaba/cobar JStorm 流计算框架,已经加入Apache https://github.com/alibaba/jstorm Dubbo 分布式服务调用,SOA框架 https://github.com/alibaba/dub

maven profile多环境动态配置文件使用

pom.xml <profiles> <!-- =====开发环境====== --> <profile> <id>dev</id> <properties> <env>dev</env> <!-- 微服务配置 --> <dubbo.version>server.hbd</dubbo.version> <!-- redis缓存配置 --> <redis.ip

了解一个项目的完整体系

1. 项目搭建:ssm,配置文件读取,目录划分,登录登出 2. 日志:记录,查询 3. 数据库搭建 4. profile配置文件 5. dubbo.redis缓存 6. 项目部署