Механизм аварийного переключения для служб WCF, обслуживающих корпоративное приложение

У нас есть набор служб WCF, работающих на одном компьютере, который в совокупности обслуживает приложение WPF, которое может находиться на той же машине или на удаленной машине (только в одной сети). Нам нужен механизм восстановления после отказа, поэтому, когда любой из сервисов аварийно завершает работу или зависает, мы хотим перезапустить сервис и инициализировать его, вызвав соответствующий метод.

Поскольку мы не знаем, что является отраслевым стандартом для реализации отработки отказа для службы WCF, мы реализовали этот способ следующим образом. Мы запускаем основную службу WCF, размещенную в консольном приложении, вместе с еще одной вторичной службой WCF, которая постоянно проверяет работоспособность основной службы WCF, вызывая открытый метод для данной конечной точки. В случае сбоя основной службы WCF она берет на себя роль основной службы WCF и запускает другую дополнительную службу WCF.

Вышеупомянутый подход работает нормально, но единственная проблема, которую мы видели, это память, так как мы запускаем службы в паре, и каждому хосту требуется 10 МБ памяти.

Может ли кто-нибудь помочь мне, какова отраслевая практика реализации аварийного переключения для такого сценария?

0 ответов

Другие вопросы по тегам