1、背景
- 快捷启动列表服务是一个通用服务,很多上层服务都依赖调用该服务,例如自动审核生成截图等等。
- 快捷启动列表数据量庞大,出现过由于记录接口响应的日志,导致磁盘、带宽飙升的情况。需要优化这两个矛盾点。
- 后续需要对桌搭重审 需要使用到快捷启动列表能力。
2、技术目标
- 降低调用时延
- 保持数据的实时性,数据更新依然拉到最新列表
- 降低网络带宽
3、技术方案
1、网络带宽:将原有接口修改为不返回数据,而是通过HttpServletResponse重定向到OSS路径,降低网络带宽
2、实时性:通过列表查询出来的原有Resp,通过sort过后进行md5计算一个版本code,通过code拼入OSS链接的方式,来获取相同版本数据,如果没有,则先put到OSS再进行重定向。
3、调用时延:在putObject的时候,通过设置header,cache-control的形式,将数据加上http缓存,让前端0改动的完成缓存逻辑,降低调用频率。如果缓存过期,则直接访问oss,进一步降低接口时延。
4、http协议缓存:当oss路径没有改变时,自动走cache-control,前端不访问oss