缓存 - 京东快递柜缓存架构的问题

Posted 王万林 Ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存 - 京东快递柜缓存架构的问题相关的知识,希望对你有一定的参考价值。

京东快递柜缓存架构的问题

问题描述

取快递时,意外发现京东快递柜系统存在“缓存穿透”攻击的问题,在京东快递柜输入一个丰巢取件ID能将系统卡30s以上,再次输入耗时同样。(先声明我的是京东快递,只不过快递小哥将我的快递放到了蜂巢。我一开始就默认以为在京东快递柜了,于是发现了这个问题。)

架构分析

与曾经负责过蜂巢快递柜的同学聊了一会:蜂巢快递柜的取件密码由快递柜生成并缓存在本地,并异步上传至服务器,并触发收件信息,如短信或微信公众号信息。
而本次遇到的京东快递柜,连续输入两次不存在的取件ID,耗时30s+。因此分析京东快递柜本地是没有无效条目的缓存,服务器端我估计是有有效数据的缓存的,但同样没有无效条目的缓存,因此两次30s+得的结论是:缓存穿透了。

总结

在设计大型分布式应用时,缓存是一项很重要的功能,用得好能事半功倍,用的不好很容易受到攻击白耗资源。

以上是关于缓存 - 京东快递柜缓存架构的问题的主要内容,如果未能解决你的问题,请参考以下文章

京东技术:Flutter图片缓存 | Image.network源码分析

彻底取代Redis+数据库架构,京东618稳了!

架构实战营模块五 1.多级缓存架构

Flutter图片缓存 | Image.network源码分析

58沈剑架构系列缓存架构设计细节二三事

系统架构设计中缓存的重要性