西安一码通两次崩溃,技术原因是什么?
好好学java
共 992字,需浏览 2分钟
·
2022-01-11 10:44
今日推荐 推荐一个 Java 接口快速开发框架 干掉Random:这个类已经成为获取随机数的王者 Docker + Intellij IDEA,提升 10 倍生产力! 笑出腹肌的注释,都是被代码耽误的诗人! 同事乱用 Redis 卡爆,我真是醉了... RedisJson 横空出世,性能碾压ES和Mongo!
西安一码通的二次崩溃,几乎每个技术群里都在吐槽和猜测。知乎也有开贴提问,地址是:
https://www.zhihu.com/question/509914161
技术圈都对这件事情感兴趣,让我们一起来看看!
前段时间,有一篇陕西电信的文章,大力肯定了开发团队,但略显得外行,该报道被众多网友吐槽:
目前已经下架,可以看看大概内容:
健康码连续挂了两次真的有点业余了,不过确实也没有low到服务器生成图片进行下发这么蠢。知乎@卢兴民做了简单剖析,我们来看看。
看一波西安健康码的接口数据:
真正的二维码数据是 /person/app/refreshQRCode
这个接口
看下这个接口返回,设计上也没有太大的问题。
主要问题集中在所有的js/css/img这些静态资源全都从从一个出口进行提供,没上CDN。
粗略估算了一下,js/css/img数据总共约500kB,按照从某个群里得到的数据,暂且认为是准的,健康码的请求量峰值达到了3.3w qps。
那按照这个量估计 33000 x 500 x 8 bps ≈ 125Gbps
这个出口量级很难用单机房承载,峰值一来,出口网卡打满,直接gg。
到写这个回答时,西安健康码还是没有将静态资源上CDN,之后看看访问量再起飞的时候,能不能扛得住吧。
当然,目前所有的看法也都只是猜测,具体什么原因还得所在的开发团队挖掘,你的看法是什么呢,欢迎评论区讨论!
推荐文章
评论