はじめに
業務でアプリケーションサーバについて調べる機会があったので、備忘録としてまとめたいと思います。
バックエンドの言語の中でPHPしか触ったことがないので、アプリケーションサーバについて全く知りませんでした(言い訳)。
アプリケーションサーバ(APサーバ)とは
アプリケーションを実行するためのサーバのことです。
詳細はこちらの記事からお願いします。この記事を読むと
- Web三層構造システム
- APサーバとWebサーバの違い
- PHPは、なぜAPサーバがなくても動くのか
が理解できます。そして、これらを中心に検索すると面白い記事がたくさん出てきます。
WebサーバとAPサーバの分離について
なぜAPサーバーをWebサーバーとして利用しないのか
PHPは、なぜAPサーバがなくても動くのか
静的コンテンツとWebアプリケーションの配置を切り分ける
これだけは押さえる
- APサーバはアプリケーションを実行するサーバであり、動的コンテンツを作成するのに必要である。
- 静的コンテンツのサイトだけを公開するならば、APサーバは必要ない。
- Webサーバ+APサーバという構成をとる場合、静的コンテンツはWebサーバに配置する。なぜなら静的コンテンツなので、APサーバとやり取りする必要がないから。
- 「APサーバでHTTPリクエストを処理すればいいのでは?」
- Webサーバと異なり、不特定多数から多くの接続をされた場合、APサーバは十分にリクエストを捌くことができない。分けることによって負荷分散が図れて、効率の良く処理を実行できる。
- また、Webサーバと異なり、スケールアウトが容易ではない。
- 「Webサーバでアプリケーションを実行できる場合、アプリケーションサーバは必要なのか?」
- Webサーバ1台で十分にリクエストを処理できるなら、アプリケーションサーバは必ずしも必要ではない。