移动互联网中,DNS解析的失败率是联网失败中占比很大的一种。为了优化这个问题,我们使用了IP直连。即,从服务器拉取一个配置文件,里面包含域名到IP映射。客户端每次联网时根据域名在配置文件中查找到对应IP,直接使用IP进行请求。
这里有几个地方需要注意:
1、配置文件拉取。使用Get请求,尽量使用请求Url简单,减少出错概率。并且这个时候不能使用IP直连,避免IP改变时拉取失败。
2、Host头设置。对于一个IP主机挂载多个Server的情况,在使用IP直连时,Host头需要设置域名。这里有个特殊情况需要引起注意。网络环境十分复杂,不排除个别代理会在发现请求使用IP时把Host头修改为IP,造成IP主机无法识别目标Server。对这种情况,也要做好降级。
3、降级。IP很有可能失效,或者改变,表现为UnknownHost,或者SocketException等。这个时候,就要采取降级措施,启用系统DNS做解析了。
4、负载均衡。对于需要做负载均衡的,可以考虑在配置文件中下载IP集合,由客户端在请求时做随机选择。
网络,尤其是移动互联网的优化,是个很庞大的话题,网络切换、信号弱、中间认证页面、运营商小动作等不确定因素很多。面对如此复杂的环境,数据监控要做起来。根据数据去有针对性的做优化,优先解决瓶颈问题。
时间: 2024-10-08 05:17:42