首页
学习
活动
专区
工具
TVP
发布

为什么预约/抢购口罩系统到点就崩溃?

最近非常多的电商开启了定时抢购口罩模式,还有不少地方政府开启了预约口罩,但大家发现到抢购时间点,系统就崩溃了,出现了各种各样的报错,接下来就跟大家分析一下为什么会这样。

一、为什么我们需要抢购/预约口罩

当然是僧多粥少,突然的疫情导致口罩紧缺,口罩工厂产量不足,据国家公布的数据,我国口罩产量约为2000万只/天。到月底,各个工厂通宵达旦加班赶制口罩,加上原本不产口罩的工厂转产口罩,据国家公布的数据可以达到2亿只/天,而中国口罩需求量至少需要5.7亿只/天。产量不足,所以需要抢购/预约口罩。

二、抢购/预约系统为什么老是崩溃

无论是网XX选,小XX品、叮XX药这些大厂出品的系统还是各个地方政府主导开发的预约系统到达预定的时间都出现了不同程度的服务器崩溃状况,导致市民无法完成预约和购买。那这是为什么呢?

(一)这些系统本质上都是个秒杀系统,秒杀系统的特点就是需要应付瞬时大流量的冲击,在那1秒钟的时间,几百万上千万的人突然冲进来,需要完成一系列的操作,当市民发现系统崩溃,就会不停的点击。这就导致可能出现一瞬间上亿次点击量。而后台系统可能需要几十亿的各类计算才能处理完这些请求。大家可以理解为,现在一层楼的办公室,突然涌进来几百万人购买口罩,这个办公室当然承载不了这么多人和那么多请求,工作人员和办公室自然就崩溃了。

(二)疫情突然,系统开发时间短。因为疫情来的太突然,无论是电商平台还是政府主导的预约系统都要求快速上线,而现在正值春节期间,大多数技术团队都处于休假状态,就导致系统设计不能采用复杂但能应对高并发的情况,只能采取一些简单的系统架构来应对。

(三)大多数开发的公司没有技术储备、大量的服务器。很多公司除非像淘宝这种需要应对双十一这种情况的公司,绝大多数公司其实是没有应对这一块高并发瞬时流量冲击的经验和技术储备,而平时也不会储备大量的服务器。对预约/抢购出现的这种状况也没有预料到。

三、如何解决

(一)短期内增加服务器。就像上面比喻的,一层楼的办公室应对不了那么多人,那就租几十层办公室来应对,几十层应对不了,就租几十栋楼来解决。但这就带来一个问题,需要很多的钱,口罩本身就是应急防疫物资,政府不允许加价销售,而一些地方政府主导的预约甚至是免费,如果加大量的服务器,就需要大量的钱来购置服务器,这就会导致可能很严重的亏本。

(二)更改方式

1、地方政府的预约系统,其实注意到一些地方,采取的是登记抽签的方式,市民只需要登记一次,系统自动抽签,没抽中的自动进入第二天抽签名单,而抽中了就五天内不再予以抽签。这种方式其实可以有效的避免上面这些情况。但带来的问题就是可能会有人质疑公平性,抽签有没有黑幕什么的。

2、电商系统,我注意到有些电商平台都改为不定时放出库存,也不予通知,谁看到下单有货就可以买。这样就可以有效的避免瞬时高并发流量带来的问题。但这样可能就导致没有高效运转的问题,口罩是应急物资,应该以最快的速度送达,而大家不会时时刻刻去盯着电商平台,这就导致效率会降低。

(三)长期可以更改系统设计,采用微服务、消息队列、负载、分布式等各项技术保障系统运行。但这个其实不是短期内可以完成的,这需要长期及大量的技术投入才可能完成。

无论如何,在口罩成为硬通货的当今,其实没有什么特别好的办法解决,都是各有优劣,就看怎么取舍吧。大家遇到系统崩溃,也应该给予一定的耐心,毕竟谁都不想系统崩溃,谁都希望最大可能的保障口罩的发放。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200215A00E7Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券