Skip to content

M13 · Bab 7± 50 menitDraf AI

Saga Pattern

Tujuan belajar

  • Menjelaskan kenapa transaksi ACID tidak bisa membentang lintas service dan bagaimana saga menggantikannya
  • Membedakan saga koreografi dan orkestrasi beserta trade-off-nya
  • Merancang compensating transaction untuk setiap langkah yang bisa dibatalkan
  • Memodelkan state saga dengan enum, sealed interface, dan record
  • Menerapkan idempotensi, semantic lock, timeout, retry, dan observability pada saga

Prasyarat: Database per Service dan Konsistensi Data

Kuis

5 soal · lulus bila minimal 70% benar

1.Saga checkout berjalan: pembayaran sukses, reservasi stok gagal. Dengan orkestrator yang menjalankan kompensasi secara terbalik, apa yang terjadi berikutnya?
2.Apa beda utama saga koreografi dan orkestrasi?
3.Pesan ChargePayment untuk ORD-9 terkirim dua kali karena broker mengulang pengiriman (at-least-once). Pelanggan tertagih dua kali. Perbaikan yang paling tepat?
4.Kenapa langkah yang tidak bisa dibatalkan (misalnya mengirim paket fisik) sebaiknya diletakkan paling akhir di saga?
5.Pesanan berstatus PENDING_PAYMENT saat saga berjalan, dan endpoint pembatalan menolak pesanan berstatus itu. Pola apa yang sedang diterapkan?

Jawab semua soal dulu (0/5)