请问如何避免 getaddrinfo 阻塞?

2015-03-22 16:31:12 +08:00
 initialdp
最近查一个生产环境的问题,发现是关键线程被阻塞在getaddrinfo调用上了。简单google了一些资料,发现linux提供的各DNS API函数都是阻塞式的,无法设置超时时间等。

各位V友是如何解决这个问题的?难道要自己实现DNS异步查询并cache返回结果?

谢谢。
6905 次点击
所在节点    Linux
4 条回复
Septembers
2015-03-22 16:37:38 +08:00
xierch
2015-03-22 19:07:07 +08:00
Shadowsocks Python 真的是自己实现了一个 DNS client 和 LRU cache ...
choury
2015-03-22 20:28:09 +08:00
自己实现一个,我就是这么干的
myd7349
2018-08-06 17:15:58 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/178625

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX