查看原文
其他

扒了一下西安一码通的接口,这特么不崩才怪呢~

点击关注👉 Java后端栈 2022-07-01

推荐关注

以下文章来源Java后端栈,回复”面试“获面试宝典


哈喽,各位新来的小伙伴们,大家好!由于公众号做了改版,为了保证公众号的资源能准时推送到你手里,大家记得将后端君的公众号 加星标置顶 ,在此真诚的表示感谢~


来源:卢兴民

链接:zhihu.com/question/509914161/answer/2299099095


上一篇前后端分离的接口规范



正文


 大家好,我是栈哥。

最近西安健康码挂了两次,这个事情震惊了全国。西安防疫,但是健康码却不靠谱的罢工了,真的是不靠谱。传说这是因为西安的健康码找了业余的码农来操刀,直接服务器生成二维码图片,然后把图片送到客户端上,所以流量撑不住,爆了。这传说煞有其事的,显得很有道理,但是实际情况是不是这样呢?不是的。健康码连续挂了两次真的有点业余了,不过确实也没有low到服务器生成图片进行下发这么蠢。关注Java后端栈相关文章:1、西安一码通崩了!程序员因扫不出一码通进不了办公楼,而无法解决Bug2、西安一码通又崩了,官方回应!3、#西安一码通#又崩了。。。谁之责 ?4、西安一码通崩溃的真实原因找到了!5、频频宕机?工信部:西安“一码通”要加强技术改进,确保不拥塞宕机

看一波西安健康码的接口数据。




真正的二维码数据是 /person/app/refreshQRCode这个接口



看下这个接口返回,设计上也没有太大的问题。所以这些都不是导致西安二维码爆的原因了。关注Java架构师技术


主要问题集中在所有的js/css/img这些静态资源全都从从一个出口进行提供,没上CDN粗略估算了一下,js/css/img数据总共约500kB按照从某个群里得到的数据,暂且认为是准的,健康码的请求量峰值达到了3.3w qps


那按照这个量估计 33000 x 500 x 8 bps ≈ 125Gbps  这个出口量级很难用单机房承载,峰值一来,出口网卡打满,直接gg。刚刚,微信官宣1000W个微信红包封面,速度撸!!


到写这个回答时,西安健康码还是没有将静态资源上CDN,之后看看访问量再起飞的时候,能不能扛得住吧。


最后再补充一点,这应用只是其中一个原因。不排除后端和数据库缓存也有更大的问题。

最后给读者整理了一份BAT大厂面试真题,需要的可扫码加微信备注:“面试”获取。


◆  ◆  ◆  ◆  ◆ 

(放到你圈子里,朋友们会感激您)PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。本文仅供交流学习 , 版权归属原作者。温馨提示:《Java后端栈》推文内容如有侵权请您告知我们会在第一时间处理或撤销;互联网是一个资源共享的生态圈,我们崇尚分享。好文推荐:

字节跳动面试经验总结,已顺利拿到offer!

IntelliJ IDEA这样配置,代码效率嗖嗖的~

Intellij IDEA 2021.2.3 最新版免费激活教程(可激活至 2099 年,亲测有效)

分享一个牛逼的 Java 开源后台管理系统,不要造轮子了!

硬核!一套基于SpringBoot + Vue 的开源物联网智能家居系统(附源码)!

基于 SpringBoot2 + MybatisPlus 的商城管理系统(附源码)

重磅推荐:一套开源的网校系统,无论是自建网校还是接副业都很方便

if(a==1 && a==2 && a==3),为true,你敢信???

Intellij IDEA 神级插件!效率提升 10 倍!

辟谣!这才是西安一码通崩溃的真实原因!

两次绩效被打3.25B,员工将支付宝告上了法院,判了

西安一码通又崩了,官方回应!


欢迎添加栈哥个人微信 ysle007  进粉丝群或围观朋友圈


扫码关注带你吊爆Java后端技术

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存