存档

文章标签 ‘dns’

某银行https调用超时率高

2017年11月2日 没有评论

对接某东南亚银行时,发现其中一个银行的超时率比较高。

联系银行后,得到的反馈是那边处理的很快,接到请求时就很晚了。
抓包和日志做综合对比,发现是产生日志十秒后,才开始有TCP的SYN握手包,后面的ACK和HTTPS的handshake都是正常的。

怀疑两种可能:
1、域名解析慢。
2、代码有问题,处理有队列或有等待连接池资源等问题。

考虑到这个通道的量比较少,队列和等待连接池的概率比较低,预期大概率是解析问题。

解决方案:在服务所在服务器绑host,一直观察到第二天,确认问题暂告解决。

遗留问题:如果银行端域名解析变更,会导致服务不可用。目前仅有失败率监控,监控到问题后再处理,会有个时间差。
后续解决方案:开发域名解析缓存机制组件,周期刷新解析结果。待调研实现后补充。

分类: 工作 标签: , ,

黑科技:Kafka之绑定Host问题

2016年5月20日 没有评论

之前搞定了HBase的绑定Host问题,今天在Kafka上用的时候,发现还是有问题,于是又换了一种更彻底的实现,可以直接取代之前的搞法。
本次问题表现:

Caused by: java.net.UnknownHostException: hostxxx: hostxxx
        at java.net.InetAddress.getLocalHost(InetAddress.java:1496) ~[na:1.7.0_101]
        at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:119) ~[kafka_2.10-0.8.2.2.jar!/:na]
        at kafka.javaapi.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:66) ~[kafka_2.10-0.8.2.2.jar!/:na]
        at kafka.javaapi.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:69) ~[kafka_2.10-0.8.2.2.jar!/:na]
        at kafka.consumer.Consumer$.createJavaConsumerConnector(ConsumerConnector.scala:105) ~[kafka_2.10-0.8.2.2.jar!/:na]
        at kafka.consumer.Consumer.createJavaConsumerConnector(ConsumerConnector.scala) ~[kafka_2.10-0.8.2.2.jar!/:na]
        ... 53 common frames omitted
Caused by: java.net.UnknownHostException: hostxxx
        at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.7.0_101]
        at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:922) ~[na:1.7.0_101]
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1316) ~[na:1.7.0_101]
        at java.net.InetAddress.getLocalHost(InetAddress.java:1492) ~[na:1.7.0_101]
        ... 69 common frames omitted

更多内容…

分类: 工作 标签: , , ,

智能DNS的分组来源问题

2015年3月16日 没有评论

前一段时间,DNSPOD服务对国外连续两天晚上有近一个小时出现间歇性无法访问。跟了一下,发现其服务器全在国内。遂计划自建取代之。

服务采用Bind9,支持View。

智能分组的数据来源:http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest

备忘一下。

分类: 工作 标签: ,

【内训】说说域名解析

2014年1月26日 没有评论

内训2:说说域名解析

case: 想通过mcp这个名称直接访问10.4.21.184,比如:
ping mcp
ssh mcp
wget http://mcp:8186/

最简单的方法:绑host
在/etc/hosts文件最后加一行

10.4.21.184 mcp

如果多人共享,这种条目比较多,更新起来就会很不爽。有另外一种方式:
在resolv.conf中指定搜索域,用真正的域名来实现

search toft.tk

search后可以跟多个域名,之间用空格分开即可,解析时会域名的配置的顺序分别去解析。
比如:ping mcp
会自动去解析mcp.toft.tk

一个很自然的问题:如果hosts和resolv.con两个都配置了,会以谁的解析结果为准
更多内容…

分类: 工作 标签: , , ,

dns临时失效时的解决方案

2013年6月8日 没有评论

缘起:手机客户端在某些情况下,DNS无法解析,导致运行异常。
想到一种方法来解决,用的是java的代码,可以参考以解决Android的问题。
走了一点弯路,最后还好想明白了,默认使用ip解析,避免dns从未可用的情况,不使用localhost和loop,因为它们是单例,搞的代码如下:
注:版权所有,转载请注明出处~
更多内容…

分类: 工作 标签: , , ,