1

ソフトウェアの展開に関して問題があります。JBoss 4.2.3 を使用しています。

私が現在行っている典型的な手動展開プロセスについて説明させてください。

  1. EAR、WAR、および JAR をサーバーにコピーします。
  2. サーバーを停止します。
  3. EAR、WAR、および JAR を deploy フォルダーにコピーします。
  4. データベース更新スクリプトを実行します。
  5. サーバーを起動します。

サーバーの再起動を回避する方法を探していました。たくさんのトラブルとご迷惑をおかけしたからです。たとえば、サーバーのダウンタイムをスケジュールするために、大きなリストにメールを送信する必要がありました。

もう 1 つの問題は、SOAP を介してリモートで相互に通信する 2 つのサーバーがあることです。一方のサーバーがダウンすると、データ同期の問題が発生する可能性があります。

ホットデプロイメントは、私にとってはうまくいきませんでした。クラスローダーの例外が発生することもあれば、キャッシュの問題が発生することもあります。

クラスタリングを検討していましたが、うまくいくかどうかはよくわかりません。

誰か似たような経験がありますか?解決策や提案はありますか?

よろしくお願いします。

psこれをstackoverflowではなくserverfaultに投稿する必要がありますか? (私は開発者なので、ここが好きです:)

4

1 に答える 1

3

ホットデプロイメントが機能せず、再起動がオプションではない場合、他に提案できる唯一の方法は、フェイルオーバーを使用したクラスタリングです。1 つではなく 2 つのサーバーを実行し、SOAP リクエストの負荷をそれらの両方に分散させます。アップグレードを実行する必要がある場合は、1 つのサーバーをシャットダウンし、アップグレードして起動し、2 番目のサーバーをシャットダウンしてアップグレードし、再度起動します。

正しく実行すれば (トリッキーですが実行可能です)、ダウンタイムはありません。ローリングアップグレード中にサーバーが共存できることを確認し、データベースのアップグレードに下位互換性があることを確認する必要がありますが、それはすべて達成できます.

于 2010-12-06T23:53:37.407 に答える