Skip to content

M13 · Bab 8± 60 menitDraf AI

Proyek Mini: Memecah Monolith Pesanan

Tujuan belajar

  • Memisahkan layanan pembayaran dari monolith pesanan secara bertahap dengan pola strangler fig
  • Menetapkan bounded context, kontrak REST, dan kontrak event OrderPlaced / PaymentCompleted
  • Menerbitkan event secara andal dengan transactional outbox dan mengonsumsinya secara idempoten
  • Menjalankan dua service, Kafka, dan dua PostgreSQL dengan compose.yaml
  • Menulis test kontrak, smoke test end-to-end, dan memeriksa checklist kesiapan

Prasyarat: Saga Pattern

Kuis

5 soal · lulus bila minimal 70% benar

1.Tim ingin memindahkan fitur pembayaran keluar dari monolith tanpa "big bang rewrite". Langkah awal strangler fig yang tepat adalah...
2.Order-service menyimpan pesanan lalu memanggil kafkaTemplate.send(...) di method yang sama. Broker sedang down, pesanan ter-commit tapi event OrderPlaced hilang. Pola apa yang mencegah ini?
3.Relay outbox crash setelah mengirim event tapi sebelum menandai baris published. Setelah restart, apa yang terjadi dan apa konsekuensinya?
4.Kenapa order-service dan payment-service masing-masing punya PostgreSQL sendiri di compose.yaml?
5.Payment-service tiba-tiba gagal membaca event setelah order-service mengganti nama field amount menjadi totalAmount. Test apa yang seharusnya menangkap ini sebelum rilis?

Jawab semua soal dulu (0/5)