Существуют ли открытые стандарты для отработки отказа сервера? - PullRequest
2 голосов
/ 10 сентября 2009

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

Ответы [ 3 ]

1 голос
/ 10 сентября 2009

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

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

0 голосов
/ 10 сентября 2009

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

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

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

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

0 голосов
/ 10 сентября 2009

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

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

...