作者回复: 加油!
作者回复: 传统的DNS解析是有这个问题,解决思路一种是智能dns client,具有侦测ip存活情况,如不存活则再次发起dns查询(假设下一次轮询到健康的ip,可缓存)。另外一种是虚拟ip(vip)机制,dns配置的是一个vip,这个vip指向某种LB负载均衡设备(例如nginx集群),实际的负载均衡和错误重试是由LB管的。
作者回复: 具体看Archaius的配置项有没有添加动态更新回调(callback)逻辑,你可以看s2g-zuul里头的TestRoute.groovy源码,ROUTING_TABLE_STRING_PROPERTY后面跟了一个回调方法,如果zuul.routing_table_string变了,这个回调会执行,动态更新内存里头的路由表,所以就无需重启了。