2つのサーバーにデプロイされたJavaで書かれたアプリケーションがあります。ただし、1つのサーバーでのみアプリケーションを起動できます。両方のサーバーでアプリケーションを実行すると、競合が発生します。だから私はアプリケーションのコードを編集することなく、私のアプリケーションが1つのサーバーでのみ実行できるようにするソリューションを探しています。
ベストアンサー1
この問題を解決するソフトウェアは長い間存在してきました。脈拍調整装置
残念ながら、これは構成が簡単ではありません。
アプリケーションに時間がかからない場合は、単純なソリューションを使用して共有リポジトリにファイルを作成し、アプリケーションが実行されているサーバーを指定し、起動時にファイルを確認することもできます。ただし、アプリケーションがクラッシュした場合は、ファイルを削除して両方のサーバーを同じように起動できないようにする必要があります。
この時点で、管理者は競合状態が発生しないことを望み、ファイルまたはネットワークポートの存在をポーリングする独自のラッパースクリプトやペースメーカーなどの完璧で複雑なソリューションの中から決定します。
両方のオプションの欠点を比較する必要があります。