2016-05-12 19 views
-1

Windowsサービス(.NET、C#)を開発しています。非機能要件の1つは、このWindowsサービスの高可用性を確保することです。フェールオーバークラスターにこのWindowsサービスをインストールすると、この可用性が高まることが理解できます。このサービスをクラスタにインストールするには、このサービス内に記述しなければならない特定のコードはありますか?クラスタ対応サービスについて聞いたことがありますが、クラスタ対応Windowsサービスを開発する方法について説明した記事はありません。 Windowsサービスをクラスタにインストールするには本当に必要ですか?高可用性Windowsサービス

答えて

1

まず、この質問は非常に広範ですが、ここでは私の2セントです。

サービスによって異なります。

サービスの複数のインスタンスを同時に実行しても目的が損なわれない場合は、何もする必要はありません。実行されるサービスが1つしかない場合は、これらのインスタンスを調整する必要があります(udpブロードキャストメッセージ? )をアクティブにするだけで、アクティブなインスタンスが停止した場合、別のインスタンスが開始されます。

クラスタは同じ目的のマシンの束です(はい、もっと多くのことがありますが、この場合は比較が十分です)ので、ローカルでそのサービスを実行しているかのように考える複数のマシンのネットワーク。

+0

任意の時点で実行されているサービスのインスタンスは1つだけです。いずれかが失敗すると、もう1つは自動的に実行を開始するはずです。これはどのように実装できますか? – Thomas

+0

私が説明したように、すべてのサービスは稼働している必要がありますが、アクティブなサービスは1つだけです。他のサービスは失敗のケースを待っているため、実行中のすべてのサービスを調整するメカニズムを作成する必要があります。非アクティブなサービスがそのブロードキャストをX秒間受信しなかった場合、次のサービスがアクティブになり、同じ手法が再び適用され、ブロードキャスト、待機、パケットなしのいずれかである場合、ネットワークへのパケットのX秒。新しいサービスはアクティブです。 – Gusman

関連する問題