Sagapola - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Sagapola

sagaPola ini adalah pola manajemen kegagalan yang membantu membangun konsistensi dalam aplikasi terdistribusi, dan mengoordinasikan transaksi antara beberapa layanan mikro untuk menjaga konsistensi data. Layanan mikro menerbitkan acara untuk setiap transaksi, dan transaksi berikutnya dimulai berdasarkan hasil acara. Ini dapat mengambil dua jalur berbeda, tergantung pada keberhasilan atau kegagalan transaksi.

Ilustrasi berikut menunjukkan bagaimana saga pola mengimplementasikan sistem pemrosesan pesanan dengan menggunakan. AWS Step Functions Setiap langkah (misalnya, “ProcessPayment”) juga memiliki langkah-langkah terpisah untuk menangani keberhasilan (misalnya, "UpdateCustomerAccount“) atau kegagalan (misalnya," SetOrderFailure “) dari proses.

Sagapola

Anda harus mempertimbangkan untuk menggunakan pola ini jika:

  • Aplikasi perlu menjaga konsistensi data di beberapa layanan mikro tanpa kopling yang ketat.

  • Ada transaksi berumur panjang dan Anda tidak ingin layanan mikro lainnya diblokir jika satu layanan mikro berjalan untuk waktu yang lama.

  • Anda harus dapat memutar kembali jika operasi gagal dalam urutan.

penting

sagaPolanya sulit untuk di-debug dan kompleksitasnya meningkat dengan jumlah layanan mikro. Pola ini membutuhkan model pemrograman kompleks yang mengembangkan dan merancang transaksi kompensasi untuk memutar kembali dan membatalkan perubahan.

Untuk informasi selengkapnya tentang penerapan saga pola dalam arsitektur microservices, lihat pola Implementasikan saga pola tanpa server dengan menggunakan AWS Step Functions di situs web AWS Prescriptive Guidance.