聊聊小背景
前几天的早晨我早写字楼门口干等了半小时,背后的原因竟然是健康码的二维码刷不出来,保安小哥还一直跟我讲,支付宝出不来你用微信啊,用微信啊。。
他们用的相同的接口,我用微信有卵用啊,冷风中我甩了甩仅有的几根秀发,扬长而去。。。
作为程序员的我就开始了内心的吐槽大会:这咋做的啊,不行呀,这就打不开了,肯定没做优化,肯定没用缓存,肯定没做压力测试。。。。。
下面作为技术的视角来分析下这个场景的实现,以及可以怎么去优化。这只是我YY哈,真实场景别人是怎么实现的我也不清楚哈。
需求剖析
每个人都有一个对应的健康码,健康码分为几种颜色,也就对应了几个状态。本质上就是通过健康码的颜色能否区分这个用户是否去过高风险地址。
首先第一个问题就是需要根据多维度的数据去计算出这个码的颜色,比如根据用户的行动轨迹去分析。至于实际上有哪些维度我也不知道,大概猜测行动轨迹肯定是其中一点。
大概的存储也很简单,就是userId code等字段,这个场景如果需要历史数据可以单独归档即可,只留最近一天的数据提供查询即可。
实现剖析
最简单的方案就是每次查询实时去分析,这样结