Pola pesan terpisah - AWS Bimbingan Preskriptif

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

Pola pesan terpisah

Pola ini menyediakan komunikasi asinkron antara layanan mikro dengan menggunakan model polling asinkron. Ketika sistem backend menerima panggilan, ia segera merespons dengan pengenal permintaan dan kemudian memproses permintaan secara asinkron. Arsitektur yang digabungkan secara longgar dapat dibangun, yang menghindari kemacetan yang disebabkan oleh komunikasi sinkron, latensi, dan operasi input/output (IO). Dalam kasus penggunaan pola, Amazon Simple Queue Service (Amazon SQS) dan Lambda digunakan untuk mengimplementasikan komunikasi asinkron antara layanan mikro yang berbeda.

Anda harus mempertimbangkan untuk menggunakan pola ini jika:

  • Anda ingin membuat arsitektur yang digabungkan secara longgar.

  • Semua operasi tidak perlu diselesaikan dalam satu transaksi, dan beberapa operasi dapat asinkron.

  • Sistem hilir tidak dapat menangani tingkat transaksi masuk per detik (TPS). Pesan dapat ditulis ke antrian dan diproses berdasarkan ketersediaan sumber daya.

Kerugian dari pola ini adalah bahwa tindakan transaksi bisnis sinkron. Meskipun sistem panggilan menerima respons, beberapa bagian dari transaksi mungkin masih terus diproses oleh sistem hilir.

penting

Karena pola ini lebih cocok untuk fire-and-forget model, klien yang memanggil layanan ini harus melakukan polling layanan yang sebenarnya dengan menggunakan ID permintaan untuk mendapatkan status transaksi.

Kasus penggunaan

Dalam kasus penggunaan ini, sistem asuransi memiliki database penjualan yang secara otomatis diperbarui dengan rincian transaksi pelanggan setelah pembayaran bulanan dilakukan. Ilustrasi berikut menunjukkan cara membangun sistem ini dengan menggunakan pola pesan decouple.

Pola decouple messaing

Alur kerja terdiri dari langkah-langkah berikut:

  1. Aplikasi frontend memanggil API Gateway dengan informasi pembayaran setelah pengguna melakukan pembayaran bulanan mereka.

  2. API Gateway menjalankan fungsi Lambda “Pelanggan” yang menyimpan informasi pembayaran dalam database Amazon Aurora, menulis detail transaksi dalam pesan ke Amazon SQS “Penjualan”, dan menanggapi sistem panggilan dengan pesan sukses.

  3. Fungsi Lambda “Penjualan” menarik detail transaksi dari pesan SQS dan memperbarui data penjualan. Logika kegagalan dan coba lagi untuk memperbarui basis data penjualan dimasukkan sebagai bagian dari fungsi Lambda “Penjualan”.