Java Servletの実行環境であるTomcatを単体で使うメリット


雑記です。


Servletを動かすWWWサーバのスタンダードであるTomcatについて、
Apacheと連携させたらどんなメリットがあるのか、
はたまた、Tomcat単体で動かしたらどのようなメリットがあるのかを少しメモ的に書いておきます。
# 他にもWWWサーバはありますが、今回は触れません。


Tomcat単体で動かす場合のメリット

Apacheのプロキシの処理分高速になるようす。

  • セキュリティ的にやや安心。

ApacheはCとC++で組んでありますが、TomcatJavaで組んであるため、
基本的なセキュリティフォールが少ないという前提があります。
# すべてに言える事だと思うのですが、完璧ではありません。

  • セットアップが簡単

ApacheTomcatの場合も現在は、そんなにめんどくさくありませんが・・


Tomcat単体で動かす場合のデメリット

Apacheをよく知っている人はみかけますが、Tomcatをめちゃくちゃ知ってるよ!って人はあまり見かけません。


ApacheTomcatで動かす場合のメリット

ロードバランサー的な機能や、セキュリティ堅固的な機能など
また、バーチャルホスト的な動きをしたい場合は、この仕組みを選択する事になる。

  • 起動・停止が高速ではある

これは、Apacheだけの話で、Tomcatを絡めると手順が多くなる
また、Tomcatが完全に立ち上がってからApacheをあげるなど
気を使うところも出てくるのでデメリットかもしれませんが・・。


ApacheTomcatで動かすデメリット

  • Tomcat単体より低速
  • セキュリティホールが単体より多い場合がある。
  • セットアップが面倒。アップグレード作業も手順が増える
  • プロキシに問題があった場合の切り分けがとても難しくなる。


これだけ書くと、Tomcat単体が絶対いいような気がしなくもないですが、
ケースバイケースで、Apache拡張機能でどうしても必要な機能がある場合は、
ApacheTomcatの組み合わせになります。
また、Tomcat単体の方が高速と書きましたが、
実験した結果、少し高速程度でした。
体感的にはあまりかわりません。
また、Apacheをフロントで動かしているほうが、沢山のコネクションがあった場合に
急激に低速になりずらいと言う事もわかりました。
それも微々たる違いではありましたが。


簡単なMemo的雑記でした。