为什么你预约不了政府特供口罩-太难了

      自从武汉发生新型冠状型肺炎以来,口罩是供不应求;各地政府为了保障居民可以正常购买使用口罩,陆续开通网上预约口罩。
即使有政府特供口罩,很多人还是预约不了口罩,真是一罩难求。下面从技术研发角度来分析抢不到的原因,根据预约操作分解系统功能情况。
 
业务规则:
     我所在地区口罩预约规则:
1,每天晚上7点开始预约。
2,每天口罩数量10万个。
3,每个人每周只能预约成功一次,每次购买5个口罩。
4,预约成功在规定时间支付,预约才生效(刚开始货到支付,后面升级网上支付)。
    根据规则特性,我们可以把口罩预约系统看成是电商秒杀系统;比如小米手机抢购系统,京东秒杀。
    秒杀系统在流量暴增的时候为了保障系统可用性;会进行限流,限制用户请求流量。
现实世界限流场景常见的有春节乘坐火车,高峰期地铁;上下班高峰期走地铁限流是这样的:
    上午8:00时:1万人到地铁口坐地铁,地铁里面只能容纳4000人;6000人地铁口外面等着。
    上午8:05时:地铁里面来了一辆车;车只能承载2000人,还2000人车站继续排队;地铁口继续2000人进来排队。
如下图示:
 回到口罩预约系统,限流策略大致是这样的:
    1,晚上19:00时:30万用户点击预约购买请求,而系统LB最多连接数2万,就会有28万不能正常处理。
    2,2万个用户进入到姓名,身份证确认页面;新增个人信息api,最多只能处理5000个并发,有1.5万不能正常处理。
系统限制流程图大致如下图示:
 
下面根据操作提示分析系统功能:
“当前人数较多...”:大致是在网关层限制了。
“预约现场有点拥挤...”:大致是API层限制了。
 
 
    "已在排队中":是已经把姓名,身份证,邮寄提交成功。
    预约结果不及时显示是因为:系统要做用户身份信息校验,是否还有预约权限;
    结果不及时:还可以校验库存,避免超卖。
    根据官方数据:虽然我所在的城市第一天预约口罩就超卖了;但是数量很小,影响有限;如果超卖数据很多,估计第二天很多预约成功的用户都收不到口罩,空欢喜一场。
 
 
本市口罩预约系统评价:
     从2月7日上线测试功能,到2月12号升级网上在线支付;整个效率还是很高的;做为中国互联网研发的一份子;这个系统如果交给我所在的团队,从产品原型,ui设计,开发,测试各环节完成;未必有这么快完成上线;估计得加不少班。给研发这个系统同行点一个赞。
     回答一下文章标题:无非是手速,耐心,库存问题。
     愿大家都能买到口罩;愿企业早日复工,愿疫情早日结束。
 
参考信息:
开通预约说明:
第一天预约数据:
开通网上支付:
 
作者介绍:
      一线互联网研发leader,喜欢分享交流一线技术落地经验。欢迎关注公众号:
 
 
posted @ 2020-02-15 10:28  lth艺笑  Views(1037)  Comments(0Edit  收藏  举报