なぜApacheとTomcatを連携させるのか

はじめに


同僚とApacheとTomcatって何で連携させるんだっけ?
という話が出たので備忘録的に記載しておきます

ぶっちゃけ、今更感がすごい内容ですが・・・

Apache


ざっくり言うと、クライアントのブラウザからアクセスし、サービスを提供するためのWebサーバソフトウェア

Tomcat


こちらもざっくり言うと、以下のもの

  • 「サーブレット・コンテナ」(Servlet等を動作させるために必要なWebアプリケーションサーバ)
  • Servletのインスタンス管理やセッションの管理
  • Webサーバ機能有り(主に開発とデバッグ用)

連携理由


開発、デバッグ用途としてWebサーバ機能があるので、問題はないのですが そもそもとして、ApacheなどのWebサーバの性能と同等に捌けるかは疑問があったりするところ

なので、以下の処理分担としたほうが効率よく捌けるため連携をさせることが多い

  • 静的コンテンツ(HTMLや画像ファイルなど)の処理はApacheが担当(何故なら、高速でTomcatに比べて高速に処理できるから)
  • 動的コンテンツに関しての処理をTomcatが担当

所謂、餅は餅屋ということですな