7

我正在运行一个 Beego 应用程序,它依赖于 /etc/hosts 中的更新(通过 Docker 链接)来查找其他服务器。/etc/hosts 更新正常,但应用程序不会使用新主机,除非它重新启动或等待太久。在查看了src/net/hosts的文档之后,看起来我被锁定在 5 分钟的刷新时间中。

有没有办法强制刷新这个缓存,还是我看错了这个问题?

4

1 回答 1

0

Go 中的 hosts 文件缓存时间缩短至 5 秒。无论是使用纯 Go(默认,有例外)还是使用 Cgo 解析器,Go 的行为都会有所不同。为了避免纯 Go 解析器的 Go 内部缓存,目前除了强制 Cgo 解析器之外别无他法。

有多种方法可以强制 Go 使用 Cgo 解析器。强制 Go 使用文档建议的 Cgo 解析器的方法是将环境变量设置GODEBUGnetdns=cgo.

于 2017-07-18T19:37:54.393 回答