高可用服务架构设计(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执行返回的结果缓存在内存,然后这个请求上下文中,后续的其他对这个依赖的调用全部从内存中取用缓存结果即可
这样避免在