高可用服务架构设计(12) - 基于request cache请求缓存技术优化批量商品数据查询接口
0 Github
回顾执行流程
1、创建command,2种command类型
2、执行command,4种执行方式
3、查找是否开启了request cache,是否有请求缓存,如果有缓存,直接取用缓存,返回结果
首先,reqeust context(请求上下文)
一般在一个web应用中,Hystrix会在一个filter里面,对每个请求都添加一个请求上下文
即Tomcat容器内,每一次请求,就是一次请求上下文
然后在这次请求上下文中,我们会去执行N多代码,调用N多依赖服务,有的依赖服务可能还会调用好几次
在一次请求上下文中,如果有多个command,参数及调用的接口也是一样的,其实结果也可以认为是一样的
那么就可以让第一次command执行返回的结果缓存在内存,然后这个请求上下文中,后续的其他对这个依赖的调用全部从内存中取用缓存结果即可
这样避免在
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
高可用服务架构设计(10)-Hystrix隔离策略细粒度控制
0 Github 资源隔离两种策略 线程池隔离 信号量隔离 对于资源隔离,做更加深入一些的讲解,除了可以选择隔离策略,对选择的隔离策略,可以做一定的细粒度的控制 1 execution.isolation.strategy 指定HystrixCommand.run()的资源隔离策略 THREAD基于线程池 // to use thread isolation HystrixCommandProperties.Setter() .withExecutionIsolationStrategy(ExecutionIsolationStrategy.THREAD) SEMAPHORE基于信号量// to use semaphore isolation HystrixCommandProperties.Setter() .withExecutionI
- 下一篇
Seata 0.7.0 正式发布
Seata 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题。Seata 0.7.0 已正式发布,本次共合并59pr,主要包括:protobuf 支持,mertric 支持,新协议重设计,bugfix 和代码优化等,本次更新内容如下: 特性/功能改进 • [#1276 ]新的 RPC 协议• [#1266 ]为指标添加启用的配置• [#1206 ]使用三项式运算符设置默认值• [#1214 ]添加配置shutdown.wait并更新版本为0.7.0-SNAPSHOT• [#1174 ]添加nacos配置初始化python脚本• [#1125 ]添加protostuff作为UndoLogParser的序列化程序•
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,CentOS7官方镜像安装Oracle11G