Suchen

Ohne Informationen über Transaktionen Was ist eine Stateless Architecture?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Dr. Jürgen Ehneß

Stateless Architecture ist ein Architekturansatz im IT- und Software-Umfeld. Die Architektur ist durch die Zustandslosigkeit der beteiligten Services geprägt. Im Gegensatz zu einer Stateful Architecture speichern die einzelnen Services keine Zustandsinformationen über ausgeführte Transaktionen, sondern behandeln jede Anfrage als grundsätzlich neu und unabhängig von vorherigen Transaktionen.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Stateless Architecture ist ein Begriff aus dem IT- und Software-Umfeld. Der deutsche Begriff lautet „zustandslose Architektur“. Gekennzeichnet ist dieser Architekturansatz durch die Zustandslosigkeit der beteiligten Services. Zustandslos bedeutet, dass Prozesse, Services oder Applikationen keine Informationen über zuvor ausgeführte Transaktionen speichern. Jede Anfrage wird grundsätzlich als neue Anfrage behandelt.

Die Stateless Architecture ist ein gegensätzlicher Entwurf zur Stateful Architecture („zustandsbehaftete Architektur“), in der die beteiligten Services Informationen über User oder Transaktionen speichern und bei zukünftigen Anfragen berücksichtigen.

Stateless Architecture ist ein typisches Architekturkonzept serviceorientierter Designs. Dank der Trennung der Serviceausführung von Aufgaben der Speicherung und des Managements von Zuständen lassen sich skalierbare, ressourcenschonende Service-Architekturen schaffen. Die Aufgabe des Status-Managements kann an externe Komponenten übertragen werden. Representational State Transfer (REST) ist ein Beispiel für eine einfache Stateless Architecture.

Abgrenzung zur Stateful Architecture

Stateful Architecture und Stateless Architecture stellen gegensätzliche Architekturentwürfe dar. In einer zustandsbehafteten Architektur übernehmen die beteiligten Prozesse, Services oder Applikationen neben der Aufgabe der Ausführung der Transaktion auch das Speichern von Informationszuständen über Transaktionen oder User. Hierfür benötigen sie entweder eigenen persistenten Speicher oder Zugriffsmöglichkeiten auf einen solchen Speicher. Bei den zu bearbeitenden Requests werden die zuvor gespeicherten Zustandsinformationen als Input-Parameter berücksichtigt. Sie beeinflussen das Ergebnis der Transaktion.

Merkmale einer zustandslosen Architektur

Typische Merkmale einer zustandslosen Architektur sind:

  • Services führen in der Regel nur eine Funktion aus,
  • der Status einer vorherigen Transaktion wird vom Service nicht gespeichert,
  • jeder Request wird wie ein neuer Request behandelt. Das Ergebnis ist unabhängig von vorherigen Requests oder Transaktionen.

Beispiele für eine zustandslose Architektur

Representational State Transfer (REST) ist ein typisches Beispiel für eine einfache zustandslose Architektur. Zentrale Protokolle sind das zustandslose HTTP (Hypertext Transfer Protocol) und XML (Extensible Markup Language). In einer REST-Nachricht sind alle Informationen enthalten, die ein Server oder ein Client zum Interpretieren oder Verarbeiten der Nachricht benötigen. Jede Anfrage ist in sich geschlossen. Zwischen den Nachrichten müssen keine Zustandsinformationen gespeichert werden.

Ein weiteres Beispiel für eine zustandslose Architektur sind Cloud-native, Microservice-basierte Applikationen. Sie werden in der Regel in einer zustandslosen Architektur containerisiert und orchestriert betrieben. Die einzelnen Microservices und ihr Zusammenspiel bilden die Applikationslogik und lösen herkömmliche monolithische Anwendungen ab.

Vorteile der zustandslosen Architektur

Vorteile einer zustandslosen Architektur sind:

  • gute horizontale Skalierbarkeit,
  • ressourcenschonende Prozesse,
  • reduzierter Overhead,
  • einfaches Migrieren oder Hinzufügen von Services,
  • einfaches Troubleshooting und leichte Wartbarkeit zustandsloser Einzelkomponenten.

(ID:46931763)

Über den Autor