sequence-diagrams.md
docs/05-architecture/sequence-diagrams.md
Contoh isi file untuk sistem antrian. Sesuaikan dengan implementasi proyek Anda.
# Sequence diagram
```mermaid
sequenceDiagram
participant C as Client
participant G as Gateway
participant A as Antrian Service
participant D as Antrian DB
participant R as Outbox Relay
participant B as Broker
participant N as Notification Worker
C->>G: POST antrian + token + idempotency key
G->>A: Forward request + trace context
A->>A: Validasi dan authorization
A->>D: Transaksi antrian + idempotency + outbox
D-->>A: Commit
A-->>G: 201 + antrian_id
G-->>C: 201 + antrian_id
R->>D: Baca outbox pending
R->>B: Publish AntrianCreated
B->>N: Deliver event (dapat duplikat)
N->>N: Deduplicate dan kirim notifikasi
N-->>B: ACK setelah pemrosesan berhasil
```
Relay berjalan setelah commit; tidak harus menunggu response sampai ke client. Diagram menunjukkan happy path. Retry publish/delivery membutuhkan idempotency; kegagalan notifikasi dicatat terpisah.