2

twitter finagle 库是否自己进行 DNS 缓存?我问这个是因为我们删除了 vip 后面的一些主机,但他们仍然收到我们客户的请求。

如果有这样的缓存,我该如何设置它的超时时间?

4

1 回答 1

7

是的,Finagle 在内部缓存 DNS。详细信息可以在com.twitter.finagle.AsyncInetResolver课堂上找到Resolver.scala

Finagle 使用networkaddress.cache.ttl系统属性,因此只能更改整个 JVM 的 TTL。

我建议使用以下代码片段来处理经常更改主机的服务:https ://gist.github.com/agleyzer/6909056 。它允许在每个服务的基础上指定 TTL。这在处理使用 Amazon Route 53 故障转移路由策略的服务时特别有用。

于 2015-02-22T00:58:23.507 回答