ScholarGate
Assistent

System- und Architekturmodelle

Architekturmodelle beschreiben, wie die Komponenten eines verteilten Systems organisiert sind und wie die Verantwortung für Berechnung und Daten unter ihnen aufgeteilt wird.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein Architekturmodell eines verteilten Systems spezifiziert die Typen von Komponenten (Prozessen), die Rollen, die sie spielen, und die Kommunikations- und Abhängigkeitsmuster zwischen ihnen, wobei von den physischen Maschinen, auf denen sie laufen, abstrahiert wird.

Scope

Dieses Thema behandelt die wichtigsten Architekturstile verteilter Systeme: Client-Server, Mehrschicht (n-Tier), Peer-to-Peer und hybride Organisationen, zusammen mit strukturellen Mustern wie geschichteten, objektbasierten, ressourcenorientierten (REST) und ereignisbasierten Architekturen. Es behandelt auch die Platzierung von Prozessen und die Kompromisse bei der Partitionierung, Replikation und dem Caching von Komponenten über Maschinen hinweg.

Core questions

  • Wie sollte die Verantwortung für Berechnung und Daten unter den Komponenten aufgeteilt werden?
  • Wann ist eine Peer-to-Peer-Organisation einer Client-Server-Organisation vorzuziehen?
  • Welcher Architekturstil unterstützt Skalierbarkeit und Entwicklungsfähigkeit für eine gegebene Arbeitslast am besten?

Key theories

Client-Server- und Mehrschicht-Organisation
Komponenten werden in anfragende Clients und antwortende Server aufgeteilt, und die Anwendungslogik wird über Präsentations-, Verarbeitungs- und Datenschichten geschichtet, die unabhängig verteilt werden können, um Last auszugleichen und zu skalieren.
Peer-to-Peer- und dezentrale Organisation
Alle Knoten sind funktional gleichwertig und agieren sowohl als Clients als auch als Server, was selbstorganisierende Overlays ohne zentralen Kontroll- oder Fehlerpunkt ermöglicht, allerdings auf Kosten komplexerer Such- und Konsistenzmechanismen.
Ressourcenorientierte Architektur (REST)
Representational State Transfer strukturiert ein System um adressierbare Ressourcen, die über eine einheitliche, zustandslose Schnittstelle manipuliert werden, ein Architekturstil, der abgeleitet wurde, um die Skalierbarkeit des Webs zu erklären und zu leiten.

Clinical relevance

Der Architekturstil ist die früheste Entscheidung mit dem größten Hebel im Systemdesign: Er bestimmt die Skalierbarkeit, die Fehlerisolation und wie unabhängig Teams Komponenten entwickeln können, und er liegt der Wahl zwischen monolithischen, Microservice- und Peer-to-Peer-Bereitstellungen zugrunde.

History

Verteilte Architekturen entwickelten sich von zentralisierten Mainframes zu Client-Server-Computing in den 1980er Jahren, zu mehrschichtigen Unternehmenssystemen und groß angelegten Peer-to-Peer-Overlays in den 1990er und 2000er Jahren, und zu ressourcenorientierten Web-Architekturen, deren Prinzipien in Fieldings REST-Dissertation im Jahr 2000 artikuliert wurden.

Key figures

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

Related topics

Seminal works

  • tanenbaum2017
  • fielding2000

Frequently asked questions

Was ist der Unterschied zwischen einem Architekturmodell und einer physischen Bereitstellung?
Das Architekturmodell beschreibt logische Komponenten und ihre Interaktionsmuster, während eine physische Bereitstellung diese Komponenten auf tatsächliche Maschinen und Netzwerke abbildet. Ein Architekturmodell kann in vielen physischen Konfigurationen bereitgestellt werden.

Methods for this concept

Related concepts