背景:
1 最近团队做了一套系统,已经临近上线了;
2 后端的服务和前端的代码都是新写的,两边的服务器,数据库也都是新申请的;
3 本来测试的时候用的测试服务器,一切都挺好的,但部署到线上服务器后,就是接口时通时不通的,眼看就要对外开放了,急得不行,领导也催,测试也催,客户也催
4 因为后端接口还调远在印度服务器部署的接口了,导致那边的客户也很关心,也问进展如何
5 因为已经连日加班,几个人已经头脑混乱了,这一下搞得更是吃不下饭,睡不着觉了
6 于是,我痛定思痛,决定出去溜达一圈
7 终于在溜达到一个超时的时候,买了瓶可乐喝,这一口冰凉的可乐一喝,我顿时觉得,不行,我得赶紧回去了,我得地毯式的进行一次全链路检测
1、先从前端入手
先从前端入手,又仔细检查了一遍,是不是自己的入参,
在某种情况下是否会出现异常,是否会某些字段转换出现问题,
然后把发送AJAX请求前的每一步数据组装都打印输出,一直到最后的submit阶段
再到封装的axios里的每一步都打印出来,看是否会因为某一步稍微写错一点而走到catch
然后我又和服务端约定,写了两个超级简单的接口,我不需要入参,只是简单查询一下
第一个接口只是简单调用后端接口,直接返回数据
第二个接口在第一个接口基础上,他再调用印度那边一个接口,一旦通了就返回,也不做过多处理
结果发现:
1、纯粹调用后端的这个接口总是通的
2、需要调用印度的那个接口会有不通的问题
2、外部接口测试
通过上一步就发现了,一定是调用外部接口这一步出问题了。那么就没有前端同学的锅了。
然后我们就想着跟领导说一声,远在印度的接口,经过了重重阻碍才把数据返回来,应该是网络问题,就这样结案吧。
然后领导说这个项目上线后,每人会奖励5个W,所以,不要放P好吧。
于是后端用postman开始本地调用外部接口,不断的重试,经过了几个人,好半天的鼠标狂点,发现,貌似也不是网络的问题。
然后后端就非常客气的跟外部接口负责人非常客气的说:哥,你能看一下那边的监控吗,就帮我看一会儿,可以吗?
人家非常客气的说:来吧,陪你搞到天亮都没问题
哥,你那边收到结果了吗?
收到了,给你返回去了
好的,返回来了,我看见了
。。。。。。
哥,你那边收到结果了吗?
收到了,给你返回去了
好的,返回来了,我看见了
。。。。。。
哥,你那边收到结果了吗?
没有,再来一次呢
我又来了一次,收到了吗?
没有,真的没有,给你截个图你看看
其实我们特别想跟领导说:就是网络问题啊,一定是网络问题啊
3、开始排查后端代码
已经是后半夜了,有人就在那里说,后端你看看,是不是你的代码哪里报错了,赶紧看,5个W啊
于是后端打开了代码,开始多个地方打印输出,然后部署到线上服务器去
经过测试一轮搞,终于发现,你看,你是不是报错了,
再经过仔细一比对,果然是,人家外部接口的一个入参没有传过去
小问题
后端加快单身多年的手速,自己测了测没问题,又部署到线上服务器去
大家以为差不多了,报错也没有了,每个人都打开网页点了点,好啦
但是又有一个倒霉鬼说:不行,还是不出数据
然后我们也点了点,果然,还是他出我不出,你出他不出,后端送了口气,看来我也可以当个不粘锅了
4、肯定是某台机器坏了
当大家一筹莫展的时候,有人提出,会不会是某天机器坏了。
大家频频点头,嗯,有道理
于是把3台机器挨个冷备掉,然后再一台一台的打开
因为之前也是半天是通的,是不是又不通,页面刷着刷着又通了,所以大家强忍住困意,换个浏览器刷一会儿,请了缓存刷一会儿,打开手机别的浏览器刷一会儿
经过小伙伴们,不断测试,果然,竟然有2台机器是坏的。
网管,大佬,哥,别睡了,快,你给我们批的这2台机器不行,对,就是xxx.xx.x.23 还有xxx.xx.x.24这两台,
好的,等一会儿啊,我这就弄
于是我们都笑了笑,5个W即将到手
过了半个小时,咋还没申请下来
网管大佬,机器,机器,我去,你又睡着了,快醒醒啊,项目上线了给你介绍个对象,对,可好看了,跟仙女似的
终于过了5分钟,机器下来了
5、机器全部解除冷备,准备迎接胜利
新机器下来了,大家眼里闪着泪光,把机器全部解除冷备,开始测试
经过大家一顿猛如虎的操作,外部接口负责人也在不停的盯着监控
其实大家都不动了,开始收拾东西了,只有测试还在不停的刷着页面
结果并不是胜利的号角,结构还是老样子,还是有接口不通的情况
准备收拾书包的人往那一靠,什么破机器啊,再一台一台的试吧
还是重复第4步的操作,新申请的2台机器还是不行
网管,你别睡了,我都申请了5台机器了,为啥就一台行,另外4台都是坏的
你看看操作文档,文档写的挺清楚的
看你妹夫的操作文档啊,你们那破文档那么多,我看哪一步,我要给你重装个系统,再搞个镜像还是咋地
你再不支棱起来,我就跟领导说,你的机器有问题导致的
6、请不要小瞧我们公司的网管
网管终于支棱起来了,一边打着电话,一边听见他在那边噼里啪啦的,远程操作着这2台机器
我们跟他说了一下当前的场景,听见他嘎巴嘎巴两声,深吸一口气,然后咳嗽了一声
嗯,机器是好机器
然后我们测试在这边大声喊,这两台机器调不通印度那边的接口
然后网管很快就搞定了,来试一下吧
大家这次都清醒了,已经是后半夜快6点了,大家点了外卖早点,又开始刷,外部接口那哥们,也真是敬业,一直坚守着
终于在长达20分钟的各种设备,各种浏览器,各种清缓存,各种访客模式,各种无痕模式的测试后,发现,真的是好了
最后网管也起床了,都准备来公司上班了。他电话那头说,应该是忘了给你们开外网权限了。
我们集体大声:害!!!
7、5个W
我们一直关心的5个W,也如约而至
版权归原作者 经海路大白狗 所有, 如有侵权,请联系我们删除。