0

私はプログラマーではありませんが、次のタスクを実行する方法を知りたいです。私は経験豊富な開発者と協力しており、プログラミングコミュニティからの支援を求めています。あなたが私たちを導くか、スクリプトとして提供することができれば、それは素晴らしいでしょう(そして前もってありがとう!)

シナリオは次のとおりです。

AmazonのクラウドEC2インスタンス(Linux)のTomcat7でJAVAアプリケーションを実行しています。

Webアプリケーションのダウンタイムは必要ありません(またはごくわずかです)。

私が欲しいのは、何らかの理由でWebアプリケーションがクラッシュした場合、クラッシュの原因を見つけようとするとすぐに自動再起動されるようにすることです。

対処しようとしているシナリオに注意してください。Tomcatはまだ実行されていますが、Webアプリケーションがダウンしています。したがって、アプリケーションを再起動するためのパラメータとして、Tomcatがダウンしているかどうかを確認することはできません。

4

1 に答える 1

0

私はこれに完全に答えるのに十分なEC2について知りません(そして私は仕事の数分前にしかありません)が、それがスクリプト可能な環境で実行されていて、cronジョブをセットアップできるなら、それはかなり簡単なはずです。

  1. 解析可能なXMLまたはJSONを含むページをアプリに提供させます。この手法は一般に「カナリア」ページと呼ばれます-鉱山のカナリアのように(ガスを検出し、最初の種類の取引で死にます)
  2. curlやwgetなどを使用してカナリアページにアクセスするスクリプトを作成します。応答が失敗した場合(つまり、アプリがダウンしている場合)、Tomcatを再起動します(または、Tomcatを強制終了して、まだ実行中の場合は再起動します。
  3. cronを介して1分ごとに実行するようにジョブを設定します

明らかに、あなたの最善の選択肢は、クラッシュしないアプリを書くことです:)しかし、それまでの間、それは役立つ可能性があり、アプリの構成情報の一部を含むカナリアページは一般的に非常に便利です。

申し訳ありませんが、詳細はわかりませんが、他の人がコメントに投稿する可能性があります(または仕事から戻ったときに投稿します)

また、Tomcat / Java EEは大量の防弾エラー処理を提供するため、アプリがダウンすることはめったにありません。開発者は自分が何をしているのか知っていますか?

于 2012-08-16T13:21:45.797 に答える