Pola Outbox: Mengirim Event tanpa Kehilangan
Masalah klasik: aplikasi menyimpan data ke database, lalu mengirim event ke broker. Bila aplikasi mati tepat di antara keduanya, data tersimpan tapi event tidak pernah terkirim. Pola outbox menyelesaikan ini.
Tulis event dalam transaksi yang sama
Alih-alih mengirim event langsung, aplikasi menulis event ke tabel “outbox” dalam transaksi yang sama dengan perubahan data. Keduanya berhasil atau gagal bersama — tidak ada lagi kondisi setengah.
Relay membaca dan mengirim
Proses terpisah membaca tabel outbox, mengirim ke broker, lalu menandai terkirim. Bila pengiriman gagal, ia mengulang. Idempotensi di sisi penerima menangani ulangan.
Mengapa ini penting
Untuk integrasi event-driven yang andal, outbox nyaris wajib. Tanpa itu, Anda akan berburu event hilang secara manual — pekerjaan yang melelahkan dan tidak pernah benar-benar selesai.