0001-notifikasi-asynchronous.md
docs/05-architecture/adr/0001-notifikasi-asynchronous.md
Contoh isi file untuk sistem antrian. Sesuaikan dengan implementasi proyek Anda.
# ADR 0001 — Notifikasi asynchronous
Status: contoh usulan, bukan keputusan resmi proyek.
## Konteks
Pendaftaran harus tetap berhasil saat provider notifikasi lambat atau gagal.
## Keputusan yang diusulkan
Simpan event pada transactional outbox bersama antrian, lalu kirim melalui worker. Consumer harus idempotent dan memiliki retry terbatas serta dead-letter handling.
## Alternatif
Mengirim notifikasi dalam request lebih sederhana, tetapi menambah latency dan ketergantungan pada provider.
## Konsekuensi
Status notifikasi bersifat eventual. Perlu pemantauan outbox/queue dan prosedur replay. Deduplication internal belum menjamin provider tidak mengirim dua kali; gunakan idempotency provider atau rekonsiliasi.
## Review
Isi PIC, tanggal, tiket JIRA, dan link MR keputusan sebelum mengubah status menjadi accepted.