twitter finagle 库是否自己进行 DNS 缓存?我问这个是因为我们删除了 vip 后面的一些主机,但他们仍然收到我们客户的请求。
如果有这样的缓存,我该如何设置它的超时时间?
twitter finagle 库是否自己进行 DNS 缓存?我问这个是因为我们删除了 vip 后面的一些主机,但他们仍然收到我们客户的请求。
如果有这样的缓存,我该如何设置它的超时时间?
是的,Finagle 在内部缓存 DNS。详细信息可以在com.twitter.finagle.AsyncInetResolver
课堂上找到Resolver.scala
。
Finagle 使用networkaddress.cache.ttl
系统属性,因此只能更改整个 JVM 的 TTL。
我建议使用以下代码片段来处理经常更改主机的服务:https ://gist.github.com/agleyzer/6909056 。它允许在每个服务的基础上指定 TTL。这在处理使用 Amazon Route 53 故障转移路由策略的服务时特别有用。