2つの異なるサーバーに2つのアプリケーションがありますが、同時に1つのサーバーで1つのアプリケーションのみを実行する方法

2つの異なるサーバーに2つのアプリケーションがありますが、同時に1つのサーバーで1つのアプリケーションのみを実行する方法

2つのサーバーにデプロイされたJavaで書かれたアプリケーションがあります。ただし、1つのサーバーでのみアプリケーションを起動できます。両方のサーバーでアプリケーションを実行すると、競合が発生します。だから私はアプリケーションのコードを編集することなく、私のアプリケーションが1つのサーバーでのみ実行できるようにするソリューションを探しています。

ベストアンサー1

この問題を解決するソフトウェアは長い間存在してきました。脈拍調整装置

残念ながら、これは構成が簡単ではありません。

アプリケーションに時間がかからない場合は、単純なソリューションを使用して共有リポジトリにファイルを作成し、アプリケーションが実行されているサーバーを指定し、起動時にファイルを確認することもできます。ただし、アプリケーションがクラッシュした場合は、ファイルを削除して両方のサーバーを同じように起動できないようにする必要があります。

この時点で、管理者は競合状態が発生しないことを望み、ファイルまたはネットワークポートの存在をポーリングする独自のラッパースクリプトやペースメーカーなどの完璧で複雑なソリューションの中から決定します。

両方のオプションの欠点を比較する必要があります。

おすすめ記事