Katalog
concept#Architektur#Plattform#Integration#Sicherheit

Client-Server-Architektur

Architekturmuster, das Clients und Server in Rollen trennt und Kommunikations- sowie Skalierungsprinzipien für verteilte Systeme definiert.

Die Client-Server-Architektur trennt Funktionen zwischen Clients, die Dienste anfragen, und Servern, die Ressourcen bereitstellen.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

Load Balancer / Reverse ProxyRelationale oder NoSQL-DatenbankenCaching-Schicht (z. B. Redis)

Prinzipien & Ziele

Klare Trennung von Verantwortlichkeiten zwischen Client und ServerExplizite Schnittstellen und vertragsbasierte KommunikationDesign für Skalierbarkeit und Fehlertoleranz
Umsetzung
Unternehmen, Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Überlastung von Servern ohne geeignete Skalierungsstrategie
  • Sicherheitslücken in zentralen Diensten gefährden viele Clients
  • Inkonsistenzen bei gleichzeitigem Zugriff ohne geeignete Koordination
  • Verwende etablierte API-Standards (REST, gRPC) und Versionierung
  • Redundante Server und Health-Checks implementieren
  • Observability (Logging, Tracing, Metriken) von Anfang an einplanen

I/O & Ressourcen

  • Client-Anfragen / Nutzerdaten
  • Serverressourcen (CPU, Memory, Storage)
  • Netzwerkverbindungen und Protokolle
  • Antworten an Clients
  • Persistente Datenspeicherung
  • Operationales Monitoring und Logs

Beschreibung

Die Client-Server-Architektur trennt Funktionen zwischen Clients, die Dienste anfragen, und Servern, die Ressourcen bereitstellen. Sie definiert Kommunikationsmuster, Zuständigkeiten und Skalierungsmodelle für verteilte Systeme. Typische Einsatzbereiche sind Web-, Datenbank- und Anwendungsdienste; Entscheidungen müssen Latenz, Konsistenz, Sicherheit und Betriebskosten abwägen bei Entwurf und Betrieb.

  • Zentrale Verwaltung von Ressourcen und Sicherheit
  • Einfachere Skalierung der Serverkomponenten
  • Wiederverwendbare Dienste für verschiedene Clients

  • Single Point of Failure, wenn Server nicht redundant ausgelegt sind
  • Netzwerklatenz und Bandbreitenabhängigkeit
  • Potenzielle Skalierungskosten bei hohem Traffic

  • Antwortzeit (p95)

    Mindestgarantie der Antwortlatenz für 95% der Anfragen.

  • Durchsatz (Anfragen/Sekunde)

    Anzahl von verarbeiteten Anfragen pro Sekunde als Maß für Kapazität.

  • Fehlerrate

    Anteil fehlerhafter Antworten bezogen auf Gesamtanfragen.

Typische Webarchitektur

Browser-Client kommuniziert mit REST-API, die auf einem Server läuft und eine relationale Datenbank nutzt.

Datenbank-Server-Architektur

Diverse Clients greifen über einen zentralen Datenbankserver auf gemeinsame Daten zu; Zugriffskontrolle zentral.

Microservice-gerechte Client-Server-Variante

Leichte Server-Services übernehmen spezialisierte Aufgaben, Clients koordinieren mehrere Services für Benutzerfunktionen.

1

Anforderungsanalyse und Rollenmodell festlegen

2

Schnittstellen (API-Verträge) designen

3

Serverkomponenten implementieren und testen

4

Betrieb, Skalierung und Monitoring einrichten

⚠️ Technische Schulden & Engpässe

  • Ad-hoc-Endpoints ohne API-Vertrag und Tests
  • Fehlende Automatisierung für Skalierung und Deployment
  • Keine Observability für kritische Pfade implementiert
Datenbank-Lock-ContentionNetzwerklatenzSingle-Threaded-Server-Komponenten
  • Alle Logik in einem zentralen Server, der zum Flaschenhals wird
  • Unsichere APIs ohne Authentifizierung in Produktionsumgebungen
  • Stateful Server ohne Strategie für Ausfallszenarien
  • Unterschätzung der Netzwerk-Latenz bei verteilten Clients
  • Fehlende Kapazitätsplanung führt zu plötzlichen Engpässen
  • Vernachlässigte Sicherheits-Reviews vor Produktivsetzung
Netzwerk- und ProtokollkenntnisseServer- und InfrastrukturmanagementSicherheits- und Authentifizierungsstrategien
Skalierbarkeit und LastverteilungSicherheit und ZugriffskontrolleVerfügbarkeit und Fehlertoleranz
  • Begrenzte Bandbreite und Latenzgrenzen
  • Legacy-Protokolle oder inkompatible Clients
  • Regulatorische Anforderungen an Datenspeicherung