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

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

问题描述

取快递时,意外发现京东快递柜系统存在“缓存穿透”攻击的问题,在京东快递柜输入一个丰巢取件ID,30s后才显示无此取件ID,再次输入耗时同样。(我的是京东快递,只不过快递小哥将我的快递放到了蜂巢。我误以为在京东快递柜了,于是发现了这个问题。)

架构分析

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

update on 10/15/2021: 当天使用正确的取件ID也耗时30s+,说明其取件ID未缓存在本地,使用时需要到服务端核对。这样的逻辑,容易受多个环境的瓶颈限制,如网络状况、服务器负载等。

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王万林 Ben

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值