网络原因造成应用访问无响应
现象
客户端请求之后,无报错,无响应
排坑过程
1.模拟用户调用接口正常响应,首先判断应用没有响应超时,提供服务的接口没有报错。
2.发现应用日志并没有上报问题用户的请求。
3.然后一步步向应用外层查找内网网关、外网网关、负载均衡均未找到用户请求。
4.最后找网络组通过拨测发现我们使用的域名,移动运营商有20%请求异常(好像在某地被屏蔽了)。
坑
把域名解析想简单了,实际生产并不是一个域名解析成一个ip地址,不同运营商,不同地域访问的地址都不一样。我这边自己模拟请求能访问一个域名,并不代表用户所在区域也能访问成功。
解决
网络组联系运营商,让用户先换一个运营商网络。
启示
1.之前出了访问异常的情况,都首先想到的是应用出问题了,但实际上在请求到达应用之前涉及大量的网络传输过程,这个过程也是会出问题的,虽然概率很小。
2.还有要对自己所负责的应用的请求流转链路有清晰的认识,不然只局限在应用里是解决不了这种问题的。
3.了解了一下拨测,原理相当于DDOS攻击,利用全国各地的肉机向需要测试的域名发送请求,然后查看响应结果。