Разъяснение по orientjs
У меня есть несколько вопросов об этом примере из документации orientjs github:
var server = OrientDB({
host: '10.0.1.5',
port: 2424,
username: 'root',
password: 'root',
servers : [{host : '10.0.1.5' , port : 2425}]
});
- Я предполагаю, что массив серверов не должен содержать сервер, указанный в хосте и порте (например, 10.0.1.5:2424 в примере)? Другими словами, этот включен в список?
- Список серверов (включая указанный в хосте и порте) используется только при начальном подключении, после чего список серверов в кластере автоматически поддерживается по мере их поступления и удаления?
- Как выбирается целевой сервер (сначала доступный, циклический, случайный, с балансировкой нагрузки и т. Д.)?
- Является ли сервер только выбранным для подключения (в отличие от запроса / транзакции)?
- Что произойдет, если на выбранном сервере произойдет сбой? Прозрачно ли предпринято новое подключение к другому серверу или генерируется какое-то исключение, которое требует, чтобы вызывающий код участвовал в выборе нового сервера?
1 ответ
Решение
1) да не нужно содержать сервер.
2) да, они используются для первого соединения, а затем, когда они подключаются каждый раз, когда меняется форма кластера, драйвер получает уведомление.
3) Соединение установлено с первым в списке. тогда он будет держаться там, пока не выйдет.
4) за соединение
5) прозрачно повторить попытку следующего сервера в списке