ScholarGate
Ассистент

Системные и архитектурные модели

Архитектурные модели описывают, как организованы компоненты распределенной системы и как между ними распределяется ответственность за вычисления и данные.

Найти тему в 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-х годах, а затем к ресурсно-ориентированным веб-архитектурам, принципы которых были сформулированы в диссертации Филдинга по REST в 2000 году.

Key figures

  • Roy Fielding
  • Andrew S. Tanenbaum
  • Maarten van Steen

Related topics

Seminal works

  • tanenbaum2017
  • fielding2000

Frequently asked questions

В чем разница между архитектурной моделью и физическим развертыванием?
Архитектурная модель описывает логические компоненты и паттерны их взаимодействия, в то время как физическое развертывание отображает эти компоненты на реальные машины и сети. Одна архитектурная модель может быть развернута во многих физических конфигурациях.

Methods for this concept

Related concepts