システムを構成するサーバーの種類
記事のねらい
- システム開発におけるサーバーを大まかに整理する
- 3階層型アーキテクチャのサーバーの種類を整理する
- 参画するプロジェクトで扱うシステムについて理解しやすくする
サーバーとは?
分割型アーキテクチャ(複数のコンピュータを組み合わせて1つのシステムを構築する仕組み)で利用されるコンピュータ。コンピュータそのものを指すこともあり、コンピュータで動くソフトウェアを指すこともある。前者の場合は物理サーバーと言う。
※分割型アーキテクチャには垂直分割型アーキテクチャと水平分割型アーキテクチャがあり、垂直分割型アーキテクチャには、クライアント・サーバ型アーキテクチャや3階層型アーキテクチャがある。
※物理サーバーは仮想化やクラウドを利用する場合、仮想サーバーが相当する。
サーバーの種類と役割(3階層型アーキテクチャの場合)
Webサーバー
クライアント(PC)のWebブラウザからの要求(リクエスト)により、静的コンテンツ(HTML、画像など)と動的コンテンツを提供する。動的コンテンツはAPサーバーに要求する。
主な製品:Apache HTTP Server, IIS, NginxなどAPサーバー(アプリケーションサーバー)
Webサーバーからの要求により、アプリケーションや動的コンテンツ(掲示板の書き込みなど)を提供する。データベースへの接続が必要な場合、DBサーバーに要求する。
※DBサーバーへの要求はSQLで行われる。
主な製品:Cosminexus Application Server, JBoss, Tomcat, WebLogic Server, WebSphere Application Server, Interstage Application ServerなどDBサーバー(データベースサーバー)
APサーバーからの要求で受け取ったSQLを解析し、データアクセス方式を決定し、キャッシュメモリやディスクから必要なデータを集め、APサーバーに提供する。
※データベースが配置されたサーバー。
主な製品:Oracle Database, MySQL, PostgreSQL, SQL Server, DB2, Symfoware Serverなど
※システムによってはWebサーバーとAPサーバーが統合されていたり、Webサーバーがなかったりする。
まとめ
- システムを構成する複数のコンピュータを単体でサーバーと呼ぶ
- サーバーにはWebサーバー、APサーバー、DBサーバーがある
- データの流れはクライアント→Webサーバー→APサーバー→DBサーバー→APサーバー→Webサーバー→クライアント
参考資料
山崎泰史(2019)『絵で見てわかるITインフラの仕組み 新装版』 翔泳社
Webの仕組みとWebサーバの構造:ApacheによるWebサーバ構築(2)(1/2 ページ) - @IT (atmarkit.co.jp)
ITインフラの全体像を理解しよう | Think IT(シンクイット)
ミドルウェア(Web、AP、DB)について知ろう | Think IT(シンクイット)