Katalog
concept#Architektur#Integration#Software‑Engineering

Service-Choreographie

Dezentrales Koordinationsmodell für verteilte Dienste, bei dem einzelne Services Ablauflogik lokal steuern und Interaktionen ohne zentrale Kontrolle stattfinden.

Service-Choreographie beschreibt ein dezentrales Modell für die Koordination verteilter Dienste, in dem jede Komponente Interaktionsregeln lokal durchsetzt.
Etabliert
Hoch

Klassifikation

  • Hoch
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

Message-Broker (Kafka, RabbitMQ)Observability-Tools (Jaeger, Prometheus)Schema-Registry oder AsyncAPI-Tooling

Prinzipien & Ziele

Verteile Verantwortlichkeit für Ablauflogik auf ServicesDefiniere klare, versionierbare InteraktionsverträgeSorge für robuste Beobachtbarkeit und Monitoring der Event-Flüsse
Umsetzung
Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Inkonsistenzen bei unzureichender Kompensationsstrategie
  • Versteckte Abhängigkeiten und versteckte Sequenzvoraussetzungen
  • Übermäßiger Observability-Aufwand bei fehlender Toolunterstützung
  • Schreibe idempotente Event-Handler zur sicheren Wiederholung
  • Nutze klare, versionierte Event-Schemata und eine Registry
  • Implementiere verteiltes Tracing zur Nachvollziehbarkeit

I/O & Ressourcen

  • Explizite Event- oder API-Verträge
  • Message-Broker oder Event-Infrastruktur
  • Monitoring-, Tracing- und Versionierungswerkzeuge
  • Entkoppelte, autonome Services mit definierten Interaktionsverträgen
  • Events als Integrationsartefakte
  • Verteilte Fehler- und Kompensationspfade

Beschreibung

Service-Choreographie beschreibt ein dezentrales Modell für die Koordination verteilter Dienste, in dem jede Komponente Interaktionsregeln lokal durchsetzt. Im Gegensatz zur Orchestrierung gibt es keine zentrale Steuerinstanz; Verantwortung und Fehlerbehandlung werden verteilt. Sie eignet sich besonders für lose gekoppelte, domänenspezifische Microservice-Architekturen.

  • Geringere Zentralabhängigkeit erhöht Ausfallsicherheit einzelner Komponenten
  • Bessere Teamautonomie durch lokale Entscheidungshoheit
  • Skalierbarkeit einzelner Reaktionspfade ohne zentralen Engpass

  • Erhöhte Komplexität bei Fehlerbehandlung und Kompensation
  • Schwierigeres End-to-End-Testing durch verteilte Abläufe
  • Erfordert strikte Event- und Vertragsdisziplin zwischen Teams

  • Durchsatz pro Event-Topic

    Misst die Anzahl verarbeiteter Events pro Zeitintervall für ein Topic.

  • End-to-End-Latenz

    Zeit vom Auslösen eines Events bis zur finalen Verarbeitung und Bestätigung.

  • Fehler- und Kompensationsrate

    Anteil von Transaktionen, die Kompensation oder manuelle Eingriffe erfordern.

Event-getriebene Bestellkette

Ein Online-Shop verteilt Bestell-, Zahlungs- und Versandlogik auf eigenständige Services, die über Events choreographiert werden.

Mikroservice-Saga als Choreographie

Eine Saga-Implementierung verteilt Kompensationsschritte auf betroffene Services, die gegenseitig auf Ereignisse reagieren.

IoT-Integration mit dezentraler Steuerung

Edge-Komponenten und Cloud-Services koordinieren Aktionen über Events ohne zentralen Orchestrator.

1

Analyse Domänengrenzen und Identifikation relevanter Events.

2

Definieren von Event- und API-Verträgen sowie Versionierungsregeln.

3

Einführen der Event-Infrastruktur, Observability und Kompensationskonventionen.

⚠️ Technische Schulden & Engpässe

  • Unstrukturierte Events ohne Registry erhöhen Integrationskosten
  • Fehlende Trace-Propagation behindert Debugging
  • Ad-hoc-Kompatibilitätsfixes statt sauberer Versionierung
Event-Broker-KapazitätKonsistenzmechanismenMonitoring- und Trace-Infrastruktur
  • Einsatz bei stark transaktionalen Workloads ohne Kompensation
  • Fehlende Versionierung führt zu massiven Inkompatibilitäten
  • Unzureichendes Monitoring, sodass Fehler nicht erkennbar sind
  • Unterschätzung des Observability-Aufwands
  • Implizite Sequenzannahmen zwischen unabhängigen Services
  • Zu späte Einführung von Kompensationslogik
Verteilte SystemarchitekturEvent-Design und VersionierungMonitoring, Tracing und Fehlerkompensation
Loosely coupled KomponentenDomänengrenzen und Team-AutonomieObservability und Traceability
  • Notwendigkeit kompatibler Event-Formate
  • Netzwerklatenz und asynchrone Verzögerungen
  • Regulatorische Anforderungen an Transaktionssicherheit