2017-12-04 13 views
0

私は5つのSpringブートWebアプリケーションを持っていますが、サーバーは1つしかありません(ローエンド)。複数のSpringブートWebアプリケーションを単一のサーバーに展開する

すべての5を1台のサーバーに展開する最良の方法は何ですか? Webコンテナ(Tomcat)を1つしか持たず、すべてを同じTomcat上に別々のwarファイルとして展開するか、または別のTomcatコンテナ上で5つすべてを実行します(Spring Bootのデフォルト動作)?

パフォーマンスとメンテナンス性を考慮して推奨するものは何ですか?

+0

"ローエンド"について具体的に説明できますか? – chrylis

答えて

0

私の推奨事項は以下のとおりです。

  • これらの戦争は相互に独立している場合は、Tomcatや使用しているものは何でもコンテナが、また、異なる仮想のいずれかだけではなく、別のWebサーバでそれらを展開しますサーバー、専用サーバー、またはクラウドインスタンス。
  • 異なる「仮想サーバー」に展開すると、水平方向に拡大縮小することができるため、将来の作業負荷に適しています。
  • ホスティングプロバイダからロードバランサを展開するか、またはNginxを使用してください。

これは役に立ちます。

0

IMHOの場合、リソースが制限されたサーバーを実行している場合、すべてのアプリケーションを1つのTomcatインスタンスの下にwarファイルとして配置することをお勧めします。複数のサーバーを実行するだけで、不必要なオーバーヘッドが追加されます。

+0

この回答は理にかなっています。 –

1

サーバーにリソースがほとんどない場合は、あまり選択肢がありません。それぞれのJava仮想マシンにはかなりのオーバーヘッドがあるため、別々のコンテナを実行すると、ローエンドサーバーの制限に早く到達できます。

異なるサーブレットコンテキストを使用して、同じTomcatサーバーに戦争を展開する必要があります。

しかし、あなたが十分なRAMを持っているならば、私の考えでは、ドッカーイメージを作成し、各コンテナにスタンドアロンのスプリングブートジャーを実行するのが最もクリーンな方法です。

0

私の経験から、複数のスプリングブートアプリケーションをメンテナンスするには、ドッカーなどのコンテナを使用するのが最も簡単な方法です。新しいサーバーを使用すると、簡単に移行でき、他のアプリケーションを中断することなくアプリケーションを更新できます。しかし、コンテナの使い方を学ぶために余分な時間を費やす必要があるかもしれません。

Tomcatを使用する場合は、tomcatインスタンスを分離することをお勧めします。 1つのWARファイルごとに1つのTomcat。 1つのTomcatに複数のWARファイルを置くと、メンテナンスが困難になることがあります。 Tomcatのホットデプロイメント/自動デプロイメントではいくつかのエラーが発生し、Tomcat全体を再起動する必要があります

関連する問題