Существуют ли открытые стандарты для отработки отказа сервера?

StackOverflow https://stackoverflow.com/questions/1402451

Вопрос

Я создаю клиент-серверное приложение и смотрю, как добавить отработку отказа клиенту, чтобы при отключении сервера он пытался подключиться к другому доступному серверу. Существуют ли какие-либо стандарты или спецификации, относящиеся к отказоустойчивости сервера? Я предпочел бы принять существующий стандарт, чем реализовывать свой собственный механизм.

Это было полезно?

Решение

Я не существует, или должен быть любым. Это довольно просто, и все зависит от того, как вы можете подключиться к своему серверу, но в основном вам нужно продолжать посылать запросы ping / keepalives / heartbeats как угодно, и когда возникает сбой (или n терпит неудачу подряд, если вы хочу) поменяй переключатель в своем конфиге.

Как правило, вышеперечисленное будет работать в качестве отдельной службы на клиентском компьютере. В качестве альтернативы, вы можете создать обработчик выполнения метода, который будет обрабатывать выполнение всех вызовов сервера, которые вы делаете, и в случае сбоя связи, в вашем блоке 'catch', переключите ваш переключатель в конфигурации

Другие советы

Ваш вопрос очень общий. Вот несколько общих ответов: Google для отказоустойчивых вычислений

Google для решений высокой доступности

Обычно это выполняется на уровне балансировки нагрузки или на уровне сервера. Это не то, что вы обычно делаете в коде на клиенте.

Как правило, у вас есть несколько серверов, каждый из которых имеет свой собственный IP + один, который используется совместно всеми ними. Кроме того, они связываются друг с другом по протоколу tcp, чтобы сердцебиение узнало, какой узел является активным в активном / пассивном кластере.

Я не могу сказать, какой тип серверов у вас есть, но большинство серверов Windows могут делать это изначально.

Вы можете задать вопрос на сервере, чтобы узнать, как правильно настроить серверы для поддержки этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top