👋
クライアントサーバモデル(client-server model)
クライアントとサーバという二つのコンポーネントから構成されるアーキテクチャのこと。
特徴
- クライアントとサーバがネットワークを通じて連携するので、作業負荷を分散できる
- 全てのリクエストがサーバを経由するため、アプリケーションを制御できる
クライアントサーバモデルが採用されるケース
- ユーザー間のネットワーク接続を必要とするアプリケーションの場合(=アプリケーションネットワーク)
- サーバを共有リソースとして機能させたい場合
- 拡張性が求められる場合
- サーバ側をスケーリングすれば良いので簡単
- サーバ側がスケーラビリティを全て引き受ける
- リモートでのアクセスが求められる場合
- プラットフォームの非依存性が求められる場合
補足
クライアントサーバモデルに沿ったソフトウェアのうち、
クライアントがWebブラウザであるものをWebアプリケーションと呼ぶ
参考
Discussion