Mermaid Sequenzdiagramm Syntax
Sequenzdiagramme zeigen, wie Komponenten über die Zeit interagieren. Jede vertikale Linie ist ein Teilnehmer (Dienst, Benutzer, System) und die horizontalen Pfeile sind zwischen ihnen ausgetauschte Nachrichten. Sie sind die Standardmethode zur Dokumentation von API Abläufen, Authentifizierungs-Handshakes und Interaktionen in verteilten Systemen.
Teilnehmer
Deklariere Teilnehmer, um ihre Reihenfolge von links nach rechts zu steuern:
sequenceDiagram
participant Browser
participant API
participant Datenbank
Ohne explizite participant Deklarationen erstellt Mermaid sie in der Reihenfolge, in der sie zum ersten Mal erscheinen. Verwende actor anstelle von participant, um ein Strichmännchen-Symbol zu rendern (nützlich für menschliche Benutzer).
Nachrichtentypen
| Syntax | Bedeutung | Rendert als |
|---|---|---|
A->>B: text | Synchroner Aufruf (durchgezogene Linie, gefüllter Pfeil) | Anfrage |
A-->>B: text | Async/Rückgabe (gepunktete Linie, gefüllter Pfeil) | Antwort |
A->B: text | Synchron (durchgezogene Linie, offener Pfeil) | Einfache Nachricht |
A-->B: text | Async (gepunktete Linie, offener Pfeil) | Einfache Rückgabe |
A-xB: text | Verlorene Nachricht (durchgezogen, Kreuz) | Fehler |
A--xB: text | Verloren async (gepunktet, Kreuz) | Timeout |
Die Konvention: durchgezogene Linien für Anfragen, gepunktete Linien für Antworten. ->> (gefüllter Pfeil) ist am gebräuchlichsten.
Aktivierungsbalken
Zeige, wann ein Teilnehmer aktiv verarbeitet:
sequenceDiagram
Client->>+API: Request
API->>+DB: Query
DB-->>-API: Result
API-->>-Client: Response
Das + nach ->> aktiviert das Ziel. Das - deaktiviert es. Aktivierungsbalken stapeln sich, wenn ein Teilnehmer mehrfach aktiviert wird. Alternativ verwende explizites activate API und deactivate API.
Kontrollfluss
Bedingungen
alt Erfolg
API-->>Client: 200 OK
else Nicht Gefunden
API-->>Client: 404 Not Found
else Serverfehler
API-->>Client: 500 Internal Server Error
end
Schleifen
loop Max 3 Versuche
Client->>API: Request
API-->>Client: Antwort
end
Parallele Ausführung
par Gleichzeitige Anfragen
ServiceA->>ServiceB: Task 1
and
ServiceA->>ServiceC: Task 2
end
Optionale Blöcke
opt Caching aktiviert
API->>Cache: Prüfe Cache
Cache-->>API: Hit
end
Hintergrundbereiche
Heebe ganze Abschnitte des Diagramms farblich hervor:
sequenceDiagram
rect rgb(200, 220, 255)
Client->>API: Authentifizierung
API->>Client: Token
end
rect rgb(220, 255, 220)
Client->>API: Datenanfrage
API->>Client: Daten
end
Verwende den Mermaid Editor zum Erstellen aller Diagrammtypen, einschließlich Sequenzdiagramme.