キャッシュサーバー
リクエスト数が多くなるとWebサーバーが重くなってしまう。
そこで、使用頻度の高いデータを要求するリクエストに対し、レスポンスを記憶しておけば、Webサーバーへの負担が軽くなる。このレスポンスを記憶しておく役割を持つのがキャッシュサーバー
というプログラム。
1. キャッシュ
使用頻度の高いデータを記憶すること
2. コンテンツキャッシュ
文書や動画などのコンテンツのキャッシュ
3. クエリキャッシュ
DBMSへのクエリ(データ検索要求)の結果のキャッシュ
CDN(Contents Delivery Network)
キャッシュサーバーの集合体。
世界各地に分散して配置しており、アクセスしてきたリクエストに対して、ネットワーク的に一番近いキャッシュサーバーが対応することで、より素早いレスポンスを可能にしている。
Webサーバー
Webクライアントとやり取りを行うプログラム。
Webサーバーに不具合が発生するとサービスが提供できなくなるので、こういった事態を避けるためにもWebサーバーの台数を複数設置し、他のWebサーバーが機能しなくてもサービスには影響の無いようにすることが一般的。このような構成を冗長化
という。
アプリケーションサーバー
RubyやJavaなどのサーバーサイド・プログラムを動作させるためのプログラム。
Webサーバーの要求通りにデータの加工・データベースのデータを検索し、その結果をWebサーバーへ返す役割を持つ。
ステートフルな通信が必要な場合はアプリケーションサーバーからセッションID
をWebサーバーへ渡し、それを用いてWebブラウザを認識する。
データベースサーバー
データベース管理システムを搭載したプログラム。
データベースの保存もWebサーバーと同じく非常に重要であるため、Webサーバーと同じく冗長化
の構成を取ることが一般的。