高可用服务设计之如何应对缓存穿透 (4)

消息中心给用户推送消息的时候,是按照先微信小程序用户,否则公众号用户串行逻辑来执行的(大多数消息都是按照用户手机号推送的)。小程序的用户体系相对公众号的用户体系是较少的,而且小程序用户订阅消息的量级增长的缓慢。这就出现了很多不是小程序用户的查询请求,也就是出现了上面提到 缓存穿透 现象,无形之中会增加搜索引擎和数据库压力。

小程序用户查询服务集成了布隆过滤器,很优雅的解决了缓存穿透的问题。业务上线初期,每天大约有200W300W的请求,可以过滤掉90%以上的无效用户查询请求。看着这鲜明的效果,欣喜若狂,心想着这方案集成的太完美了,真香!

  源码参考

请关注微信订阅号(算法和技术SHARING),回复:bloomfilter, 便可查看。

参考资料

https://www.jianshu.com/p/2104d11ee0a2

https://zhuanlan.zhihu.com/p/43263751

https://blog.csdn.net/u012422440/article/details/94088166

https://www.jianshu.com/p/44b4b42931d4

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyswwf.html