システムおよびアーキテクチャモデル
アーキテクチャモデルは、分散システムのコンポーネントがどのように組織され、計算とデータの責任がそれらの間でどのように分割されるかを記述します。
PaperMindでテーマを探す近日公開Find papers & topics
Tools & resources
Learn & explore
動画近日公開
Definition
分散システムのアーキテクチャモデルは、コンポーネント(プロセス)のタイプ、それらが果たす役割、およびそれらの間の通信と依存関係のパターンを、それらが実行される物理マシンから抽象化して指定します。
Scope
このトピックでは、分散システムの主要なアーキテクチャスタイルであるクライアント/サーバー、多層(n層)、ピアツーピア、およびハイブリッド組織について、さらに、階層型、オブジェクトベース、リソース中心型(REST)、イベントベースなどの構造パターンとともに扱います。また、プロセスの配置、およびマシン間でのコンポーネントのパーティショニング、レプリケーション、キャッシングにおけるトレードオフについても扱います。
Core questions
- 計算とデータの責任はコンポーネント間でどのように分割されるべきか?
- ピアツーピア組織はクライアント/サーバーよりもいつ好ましいか?
- 特定のワークロードに対して、スケーラビリティと進化可能性を最もよくサポートするアーキテクチャスタイルは何か?
Key theories
- クライアント/サーバーおよび多層組織
- コンポーネントは要求を行うクライアントと応答するサーバーに分割され、アプリケーションロジックはプレゼンテーション、処理、およびデータ層にわたって階層化され、負荷分散とスケーリングのために独立して分散させることができます。
- ピアツーピアおよび分散組織
- すべてのノードは機能的に同等であり、クライアントとサーバーの両方として機能し、中央の制御点や障害点なしに自己組織化されたオーバーレイを可能にしますが、より複雑なルックアップと一貫性メカニズムを伴います。
- リソース指向アーキテクチャ(REST)
- Representational State Transferは、統一されたステートレスなインターフェースを介して操作されるアドレス指定可能なリソースを中心にシステムを構築するもので、ウェブのスケーラビリティを説明し、導くために導き出されたアーキテクチャスタイルです。
Clinical relevance
アーキテクチャスタイルは、システム設計における最も影響力の大きい初期決定であり、スケーラビリティ、障害分離、およびチームがコンポーネントをどれだけ独立して進化させられるかを左右し、モノリシック、マイクロサービス、およびピアツーピアのデプロイメントの選択の基礎となります。
History
分散アーキテクチャは、集中型メインフレームから1980年代のクライアント/サーバーコンピューティングへ、1990年代から2000年代にかけての多層エンタープライズシステムと大規模ピアツーピアオーバーレイへ、そして2000年にFieldingのREST論文によってその原則が明確にされたリソース指向ウェブアーキテクチャへと進化しました。
Key figures
- Roy Fielding
- Andrew S. Tanenbaum
- Maarten van Steen
Related topics
Seminal works
- tanenbaum2017
- fielding2000
Frequently asked questions
- アーキテクチャモデルと物理デプロイメントの違いは何ですか?
- アーキテクチャモデルは論理コンポーネントとその相互作用パターンを記述し、物理デプロイメントはそれらのコンポーネントを実際のマシンとネットワークにマッピングします。1つのアーキテクチャモデルは、多くの物理構成でデプロイできます。