新增了另外一个区域的代理(跨州)
原来的代理可达性检测只有50ms,就不够了,导致大量报错
更换为1000毫秒后,就正常了.需要注意网络中几个连接超时时间的设置问题
1.链接超时时间,一般是1-5秒.
全内网服务器,可以设置得更短一些
2.等待读取数据的超时时间,看自己的请求体,响应体大小,以及网络情况来设置.要足够大,不然就超时了.
一般是30秒.
如果是定时任务,就要设置得更长
还有,要注意网络各个节点的配置,取其中最小的,例如ng和应用服务器.
InetAddress.getByName(ipResponse.getHost()).isReachable(1000)
if (InetAddress.getByName(ipResponse.getHost()).isReachable(50)) {
log.info("use proxy {}.", ipResponse.toString());
return new AuthenticatedProxy(Type.SOCKS, ipResponse.getHost(),
ipResponse.getPort(), null, null);
}
log.warn("proxy {} is unreachable", ipResponse.getIp());