Я просто провел эксперимент, чтобы узнать, сколько времени требуется 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 пытается подключиться прежде чем признать, что эта связь разорвана.