Как сделать выбор для запроса от клиента между несколькими серверами на Node js?
У меня есть сервер(клиент) здесь не принципиальная разница. Может быть либо тем либо другим. Написанно на node js и js соответственно.
Есть несколько серверов. Для примера достаточно будет два.
Сервер-клиент должен послать данные и получить ответ от одного из серверов.
Один из серверов может быть выключен.
Как грамматно сделать такой запрос ?
Ответы (2 шт):
Ловите и проверяете ошибку запроса, отправляете запрос на другой сервер
В первую очередь нужно хорошо понимать клиент-серверную модель. А модель эта основана на связи посредства как минимум двух сущностей. Из этого правила следует что при отсутствии одного из сущностей модель клиент-сервер осуществить не получиться. В любом случае сущность сервер должен быть точно запущен до того как клиент к нему присоединиться. Если сервер выключен, тогда вам нужно самостоятельно мудрить с этим на уровне вашей операционной системы (и вряд ли это безопасно), но это уже точно не модель поведения клиент-сервер, к тому же это уже будет повторение данной модели но на костылях.
Если у вас есть несколько серверов, а один из них выключен, у клиента по идее должен быть список таких серверов по которому он может стучаться к тому или иному серверу.
В качестве примера можно рассмотреть обычный сайт, который обслуживает сервер. Когда вы заходите со своего браузера на сайт вы как правило ожидаете получить положительный или отрицательный результат. Если вы видите страничку, тогда можно констатировать о том что сервер работает. А иногда вы можете увидеть какую либо ошибку или совсем не получить ничего - в одном из таких случаев мы можем быть свидетелями того что сервер работает как-то не так, либо совсем не работает и в данном случае клиент может получить ответ об ошибке либо не получить ничего.
Современные технологии позволяют автоматизировать работу сервера таким образом, что он сам перезапуститься с необходимыми для него настройками.