我刚刚进行了一项实验,以了解 Weave 从断开的连接中恢复需要多长时间。在我的测试设置中,节点通过两条路径A
连接到节点B
。路径1
有一跳,路径2
有两跳。因此,最初,Weave 通过路径路由流量,1
因为它更短。
1
当通过关闭其中一个跳的接口来中断路径时, Weave 需要大约 60 秒才能做出反应并通过路径重新路由流量2
。
我正在通过查看输出来检查路由weave report
。更准确地说,我正在检查以下信息Router.Peers.UnicastRoutes
:
"UnicastRoutes": [
{
"Dest": "2a:e4:6e:f0:57:ef",
"Via": "76:5d:78:64:6d:a6"
},
{
"Dest": "66:c6:2f:12:02:05",
"Via": "00:00:00:00:00:00"
},
{
"Dest": "76:5d:78:64:6d:a6",
"Via": "76:5d:78:64:6d:a6"
},
{
"Dest": "a2:eb:a7:ed:41:b8",
"Via": "76:5d:78:64:6d:a6"
},
{
"Dest": "06:8c:d2:06:2b:eb",
"Via": "76:5d:78:64:6d:a6"
},
{
"Dest": "aa:be:7b:8b:a2:75",
"Via": "76:5d:78:64:6d:a6"
}
]
在这种情况下,连接已经断开,所有流量都通过较长的路径进行路由2
。
如上所述,Weave 需要大约 60 秒才能注意到路径1
中断。我假设有一个超时以确保连接确实中断并且无法恢复。当我1
通过恢复接口修复路径时,Weave 会在不到一秒的时间内更新其拓扑,这表明它能反应更快。
所以我想知道是否有办法指定 Weave 持续尝试连接的时间在接受这个连接已经断开之前。