西安健康码系统连着崩

西安健康码系统连着崩
有关西安健康码系统连着崩了两次的新闻已经在网上发酵了好几天,想必网友们差不多都知道了。

负责健康码平台搭建的部门领导也在昨天被停了职,算是给了大家一个交待。

提到西安,最近关于西安的相关动态有很多,特别是在疫情的笼罩之下,大事小事都集中爆发出来了。

网上很多人都在讨论这个事情,说西安一码通出现崩溃后,工作人员加班加点熬夜修复。
西安健康码系统连着崩
实际上,这部分内容出自去年 6 月的一份报道,名为《“科技抗疫”中流砥柱:中国电信西安分公司“一码通”服务平台保障专班》。

里边提到的图片修改,很多人都吐槽说,这不是技术的问题,因为稍微懂点技术的人都知道,这点压缩比例不算什么。没有什么技术难度,感觉就是换个图片的事。

我只用了 30 秒,就想到了两种办法,把一张健康码图片的大小压缩十倍:

1 )使用 jpg/webp/heif 等格式对健康码进行重编码;

2 )使用 svg 矢量图形绘制健康码;

而且实际上,对西安健康码的网页活动做了元素审计。

结果发现健康码本身就是以字符串的形式传输,然后再在手机本地根据字符串生成的二维码图片。

而从一码通服务器传输过来的字符串本身,压根不会超过 1KB 。
西安健康码系统连着崩
很可能可能一码通团队定位这个图片负载问题的时候是有一定技术成本的,但是落实到笔头的时候,记者只 get 到了第一层。
西安健康码系统连着崩
所以到底为什么,西安的健康码会连着崩了两次呢?

我也和几个有过类似项目开发经验的小伙伴聊了聊,最后大家得出的结论是:数据库没抗住。

因为根据公开的报道看,西安的一码通平台去年就已经把网络出口扩容到万兆了,今年还有可能更高。

服务器一开始的时候只有八台,但是这一年多的时间里一码通也投入了几百万去购买云服务设施。

可以说从这个规模上来看,就算你真的一张图片有 1MB ,就算静态资源和接口都放在同一个域名上,几十万人同时访问顶多卡点,不至于整个系统崩掉。

但数据库这个玩意,就很玄学了。

它每秒钟的承载能力如何,跟表单的大小、制式、内外存的读写速度、宿主机处理器的运算速度、以及网络的吞吐能力都有关系。

要不然美国的甲骨文( Oracle )公司也不能光靠研发数据库软件和解决方案,把自己整成了全球 500 强,市值上万亿。
西安健康码系统连着崩
尤其是健康码这种数字基建,容纳的几乎是全市的人口信息,外加上它本身还要和更上一级的健康码系统勾连,和疫苗数据、核酸数据、行程数据等等数据库系统对接。

拉取一个健康码背后的逻辑,不可谓不复杂。

假如健康码的数据库在一开始没选好型,隔离没做好,那么一旦后期负载起来了,再发现负载瓶颈的话,大概率就只能靠烧钱的方式扩容堆服务器的性能来解决了。

毕竟当时国内所有开发健康码的团队都是第一次,没有前车之鉴的情况下做出来的产品性能低一些,也可以理解。

但是光就这两次全员核酸时的健康码崩溃来说,显然是西安一码通对于将会有多少人同时调用服务没个准确的估算,扩容不到位。

这种本来可以避免的徒劳为什么会发生,我不理解。
西安健康码系统连着崩
以前,微博上一有点明星离婚一类的不可预测事件,服务器就得被吃瓜群众搞的宕机。

之后胡忠想就会跑出来说,啊太突然啦,我们已经在紧急扩容了。

不出半个小时,微博的服务就会开始逐渐恢复,大家继续该干嘛干嘛。

但是健康码不是微博,全员核酸也不是什么不可预测事件。

这个锅,西安的一码通还是好好背好吧。

我觉得难度应该不止是聚焦在怎么把 1M 的图片优化成 100K,而是在于怎么发现那个 1M 图片造成了大面积的服务拒绝响应。

至于怎么发现,自然也就得加班加点排查升级了。不过,说实话,讨论这个技术问题其实也没用。因为这个报道其实也不是要突出技术难度,而是要体现出他们为此付出得多么辛苦。怎么体现这块,确实挺难。毕竟不能直接承认系统做得不行,不然就很打脸。

说到底,这份报道就不是给做技术的人看的,主要是面向领导的。国内很多类似的项目都有个通病,那就是外行人领导内行人。

领导对技术不了解,所以你在陈述的时候,光讲技术是没有用的,正如你在写年终总结的时候,不突出主要业绩,而是通过修饰其他东西,来陈述最终的结果,以达到领导对你的认可。

比如像报道里说的,放弃休假、两天两夜加班也要把事情做成,经历了 40 次的升级。这种领导肯定看得懂,这种苦干精神,深得领导喜爱。

哪怕没有两天两夜,也不重要。因为目的很明显,要让领导看出自己有在干活。

大部分外行领导人,本身不具备相关的专业知识,也不晓得技术是怎么实现的。就好比一个不懂技术的产品经理,在给技术人提出需求的时候,时常异想天开那么滑稽。

其实,很多政府的 IT 项目是直接给电信、移动、联通这三个运营商承包的。之后又继续分包给底下的小公司。在这样的情况下,这种「行活」就只是要求基本功能能跑通就好了。至于一些细节化的东西,就别谈了,只要不出问题,没多少人追究。

真要出了问题,基本也是上演甩锅情节了。不管运营商还是公司,都想着的是大事化小,小事化了,避免出现太多负面影响。也别指望他们承认自己失误,毕竟太打脸。

简言之,从西安一码通崩溃事故来讲,技术问题好解决,但这种体制出现的做事方式、态度责任问题,如果得不到整改,那么下次类似的情况依旧会出现。

现在在疫情常态化管控下,健康码已然成为大众不可须臾离的出行工具,几乎事关每个人。

现在看来,互联网技术和新冠防控结合愈发明显。互联网的高效性和实时性,可以帮助复杂的新冠疫情防控实现更精确、更便利以及更稳定。

在这些紧要时刻,刻不容缓的艰难时刻,就不要整这些虚头巴脑的宣传邀功。

尽早稳控,做好基础建设和保障,共度难关,才不会出现诸如孕妇事件、心绞痛事件等魔幻事件。

资讯

聊聊所谓的0day漏洞

2021-12-26 11:40:57

思维

大脑杠杆:如何成为更厉害的人?

2021-1-20 10:52:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索