Zum Hauptinhalt springen

Übersicht

Einführung

Passwork unterstützt eine ausfallsichere Architektur, die Hochverfügbarkeit bietet und den Dienst auch dann am Laufen hält, wenn einzelne Infrastrukturkomponenten ausfallen.

Ausfallsicherheit ermöglicht Ihnen:

  • Kontinuierlichen Dienst sicherstellen für Benutzer
  • Last verteilen über mehrere Server
  • Das System skalieren für mehr Benutzer und höheren Durchsatz
  • Betriebsrisiken reduzieren durch vorhersagbares Verhalten bei Ausfällen und Störungen
warnung

Ausfallsicherheit in Passwork ist nur mit der Erweiterten Lizenz verfügbar.

Prinzipien der Ausfallsicherheit

Ein ausfallsicheres Passwork-Deployment basiert auf zwei Kernprinzipien:

  1. Redundante Anwendungsserver — mehrere Anwendungsserver laufen parallel, sodass der Dienst auch bei Ausfall eines oder mehrerer Knoten verfügbar bleibt.
  2. Datenbankreplikation — ein MongoDB Replica Set hält die Daten über alle Knoten synchron und wählt automatisch einen neuen Primary.

Mindestanforderungen:

  • Mindestens 2 Anwendungsserver hinter einem Load Balancer
  • Mindestens 3 MongoDB-Knoten in einem Replica Set
  • Unabhängige Infrastruktur für Datenbankknoten (separate Racks/Rechenzentren, wenn möglich)
  • Konfigurierte Health Checks und Verbindungsüberwachung

Allgemeine Architektur eines ausfallsicheren Systems:

Schema der Ausfallsicherheit

Skalierbarkeit

Passwork unterstützt zwei Skalierungsmodelle zur Steigerung der Leistung und zur Bewältigung von mehr Benutzern.

Horizontale Skalierung

Horizontale Skalierung (Scale-out) bedeutet, neue Server zum Pool hinzuzufügen, um die Last zu verteilen.

Vorteile:

  • Höherer Durchsatz durch Verteilung der Anfragen auf mehrere Server
  • Hochverfügbarkeit — wenn ein Server ausfällt, arbeiten die anderen weiter
  • Schrittweise, inkrementelle Erweiterung

Anwendungsfälle:

  • Hinzufügen neuer Passwork-Anwendungsserver
  • Erweiterung des MongoDB Replica Sets mit zusätzlichen Secondary-Knoten

Vertikale Skalierung

Vertikale Skalierung (Scale-up) bedeutet, die Ressourcen (RAM, CPU, Speicher) eines bestehenden Servers zu erhöhen.

Vorteile:

  • Schnelle Leistungssteigerung ohne Änderung der Architektur
  • Einfach umzusetzen — kein Balancing oder Synchronisation erforderlich
  • Geeignet für kleine und mittlere Lasten

Einschränkungen:

  • Hardware-Grenzen (maximales RAM/CPU auf einem einzelnen Host)
  • Single Point of Failure — wenn der Server ausfällt, ist das System nicht verfügbar
  • Ein leistungsstarker einzelner Server kann teurer sein als mehrere kleinere

Empfehlungen

  • Für ausfallsichere Deployments bevorzugen Sie horizontale Skalierung
  • Vertikale Skalierung eignet sich für Anfangsaufbauten oder Umgebungen ohne strenge HA-Anforderungen
  • Ein kombinierter Ansatz funktioniert ebenfalls: Server bei Bedarf vertikal skalieren und für Verfügbarkeit horizontal erweitern

Komponenten der ausfallsicheren Architektur

Ein ausfallsicheres Passwork-Deployment besteht aus zwei Hauptkomponenten.

1. Mehrere Anwendungsserver

Die Verwendung mehrerer Passwork-Anwendungsserver hinter einem Load Balancer bietet:

  • Automatische Verkehrsumleitung bei Serverausfall
  • Gleichmäßige Lastverteilung über gesunde Server
  • Horizontale Skalierbarkeit

Erfahren Sie mehr über Architektur, Load Balancing und Health Checks unter Anwendungsserver.

2. Datenbankreplikation

Die Verwendung eines MongoDB Replica Sets bietet:

  • Automatische Wahlen und Primary-Ersetzung bei Ausfall des aktuellen Primary
  • Datensynchronisation zwischen Knoten
  • Hohe Datenverfügbarkeit

Weitere Details finden Sie unter Datenbank.

Vorteile einer ausfallsicheren Architektur

Hochverfügbarkeit

Das System läuft weiter, auch wenn einzelne Komponenten ausfallen:

  • Wenn ein Anwendungsserver ausfällt, leitet der Load Balancer den Verkehr an die verbleibenden Server weiter
  • Wenn der Primary-Datenbankknoten ausfällt, wählt das Replica Set einen neuen Primary, und die Anwendungsserver beginnen, diesen zu verwenden

Skalierbarkeit

Eine ausfallsichere Architektur ermöglicht einfache Skalierung:

  • Horizontale Skalierung — Anwendungsserver und MongoDB-Knoten hinzufügen
  • Vertikale Skalierung — Ressourcen zu bestehenden Servern hinzufügen

Leistung

Die Verteilung der Last über mehrere Server ermöglicht Ihnen:

  • Mehr gleichzeitige Anfragen bedienen
  • Den Druck auf jeden einzelnen Server reduzieren
  • Antwortzeiten verbessern