我已经通读了我可以在问题积压中找到的所有内容,但没有看到有关如何进行 dns 缓存而不是每次都解析 dns 的参考。 已经有一些模块可以进行 dns 查找缓存,但我不知道如何让请求使用它们。
具体来说,我们看到随机的 dns.lookup 调用由于网络延迟可能需要几秒钟。 理想情况下,希望在对 dns.lookup 的请求调用之前放置一些内容,并在出现减速时提供缓存结果。
有任何想法吗?
您必须安装 DNS 缓存服务器,例如 dnsmasq、powerdns、unbound 等,并将/etc/resolv.conf
更改为指向 DNS 服务器 IP。
我只是做了一些本地摆弄来验证,看起来因为yahoo/dnscache修改了全局 DNS 模块,在你的节点应用程序中的任何地方使用它_应该_适用于你的所有 HTTP 请求,包括那些通过requestjs
完成的请求。
所以答案可能很简单,只需在您的应用程序中的任何位置添加它:
require('dnscache')({ enable: true });
......应该是全部。
此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢你的贡献。
最有用的评论
我只是做了一些本地摆弄来验证,看起来因为yahoo/dnscache修改了全局 DNS 模块,在你的节点应用程序中的任何地方使用它_应该_适用于你的所有 HTTP 请求,包括那些通过
requestjs
完成的请求。所以答案可能很简单,只需在您的应用程序中的任何位置添加它:
......应该是全部。