西安一码通两次崩溃,技术原因是什么?
点击关注公众号,Java干货及时送达👇
西安一码通的二次崩溃,几乎每个技术群里都在吐槽和猜测。知乎也有开贴提问,地址是:
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,之后看看访问量再起飞的时候,能不能扛得住吧。
当然,目前所有的看法也都只是猜测,具体什么原因还得所在的开发团队挖掘,你的看法是什么呢!
2. Redis 存储结构体信息,选 hash 还是string?
3. 技术总监需要会些什么?
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。
PS:因公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。
点“在看”支持一下吧😀!