美文网首页
getHostName引发的血案

getHostName引发的血案

作者: 黄云斌huangyunbin | 来源:发表于2019-04-25 16:28 被阅读0次

因为是内部之间的服务调用,但是某次代码更改之后,发现时不时有首次调用超时。

找到罪魁祸首:

看了下代码的变化,其实就是有个同学丰富了下log,创建连接后把hostname也输出一下。

看了下getHostName的代码,是很坑的,因为它是惰性获取的。


image.png

因为我们是通过ip去创建连接的,所以getHostName的时候,需要去dns去查询,而且ip查域名是反查,本地肯定是没有dns的缓存的,所以要去dns服务器解析。

如果网络不好,或者dns服务器比较忙的时候,就会比较慢一点了。

而且dns的超时时间是5s,也就是说最恶劣的情况下要等5s,自然就超时了。

明明是通过ip请求,什么时候都没有的,所以不要作啊,搞个dns相关的,会增加很多的不确定性。

相关文章

  • getHostName引发的血案

    因为是内部之间的服务调用,但是某次代码更改之后,发现时不时有首次调用超时。 找到罪魁祸首: 看了下代码的变化,其实...

  • iOS土味儿讲义(一)--一个Button引发的血案

    iOS土味儿讲义(一)--一个Button引发的血案 iOS土味儿讲义(一)--一个Button引发的血案

  • Insert on duplicate 死锁分析,和解决方法

    一条Insert on duplicate引发的血案

  • #引发的血案

    注重细节!今天因为js代码中少了一个“#”耽误了两个小时才找到原因,以后要吸取教训,注重细节!#

  • 跨国谐音引发的血案

    跨国谐音引发的血案 最近,刷爆朋友圈的朝天椒:一个中文词引发的血案——美国教授因言获罪事件,成功勾起了...

  • Android 后台任务执行

    参考:手机休眠引发的“血案”[https://github.com/clarkehe/Android/wiki/%...

  • Java泛型--BeanUtils.copyProperties

    BeanUtils.copyProperties引发的血案 在一次使用BeanUtils.copyProperti...

  • 一张截图引发的血案

    曾经有一个馒头引发的血案,而昨天我见证了一张截图引发的血案。下面,我来大致讲讲到底是一个怎么样的事件。 首...

  • 刘希夷:一首诗引发的血案

    一首诗引发的血案 正是武则天开始掌控大唐帝国的命运的时候,这个以诗歌流芳后世的朝代发生了一件由一首诗引发的血案。 ...

  • 误会引发血案

    中常侍张让的狗咬了大将军何进一口,何进大怒,说:“等我回来,取你狗命!”张让吓得半死,半日方缓过神来,招集同伙商议...

网友评论

      本文标题:getHostName引发的血案

      本文链接:https://www.haomeiwen.com/subject/afpzgqtx.html