Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memanggil API Eksternal Asinkron
Tanggal publikasi: Januari 30, 2023 (Sejarah diagram)
Arsitektur ini menunjukkan cara memanggil layanan pihak ketiga yang menerapkan pola panggilan balik layanan untuk memproses pekerjaan yang berjalan lama. Anda membuat orkestrasi AWS Step Functions untuk mengelola siklus hidup permintaan, membatasi panggilan ke layanan eksternal sesuai dengan kontrak maksimum permintaan per detik (RPS), dan menjeda alur kerja permintaan hingga Anda menerima pemberitahuan panggilan balik.
Memanggil API Eksternal Asinkron
Langkah-langkah berikut menjelaskan arsitektur:
-
Siapkan Fungsi Langkah untuk menangani siklus hidup permintaan yang berjalan lama ke layanan pihak ketiga. Tambahkan langkah permintaan yang menjeda alur kerja, menunggu token tugas dilanjutkan. Tetapkan batas waktu agar alur kerja gagal jika panggilan balik tidak diterima.
-
Kirim token tugas dan minta payload ke antrian Amazon Simple Queue Service. Gunakan Amazon CloudWatch untuk memantau panjang antrian dan pertimbangkan untuk menyesuaikan kontrak jika panjangnya tumbuh melampaui batas.
-
Gunakan AWS Lambda untuk melakukan polling pada Amazon SQS dan memicu alur kerja Step Functions ekspres. Kontrol tingkat pemanggilan menggunakan ukuran batch polling, konkurensi cadangan, dan konkurensi maksimum.
-
Tambahkan penundaan dinamis di dalam Lambda yang dikendalikan oleh AWS AppConfig jika sistem membutuhkan tingkat pemanggilan yang lebih rendah untuk mematuhi RPS yang dikontrak.
-
Step Functions memanggil API proxy HTTP Amazon API Gateway yang dikonfigurasi dengan batas tarif untuk mematuhi RPS yang dikontrak.
-
Memanggil API layanan asinkron pihak ketiga eksternal yang mengirimkan muatan yang dikonsumsi dari antrian permintaan, dan terima ID pekerjaan. Kirim permintaan yang gagal ke antrean huruf mati (DLQ) menggunakan Amazon SQS.
-
Simpan token tugas alur kerja dan ID pekerjaan yang diterima di toko token yang diimplementasikan dengan Amazon DynamoDB.
-
Saat layanan eksternal selesai, terima ID pekerjaan yang telah selesai di titik akhir webhook callback yang diimplementasikan dengan API Gateway.
-
Ubah panggilan balik eksternal dengan templat pemetaan API Gateway, tambahkan payload dan ID pekerjaan ke antrian Amazon SQS, dan segera tanggapi pemanggil.
-
Gunakan Lambda untuk melakukan polling antrian callback Amazon SQS, menanyakan toko token, dan gunakan token untuk membuka blokir alur kerja yang menunggu. Simpan pesan yang gagal dalam DLQ panggilan balik.
-
Pada alur kerja, berikan ID pekerjaan ke langkah berikutnya dan panggil prosesor Fungsi Langkah untuk mengambil hasil dari penyimpanan hasil pihak ketiga eksternal berdasarkan ID pekerjaan. Memproses hasil layanan eksternal.
Sumber bacaan lebih lanjut
Untuk informasi tambahan, lihat sumber daya berikut:
Sejarah diagram
Untuk diberitahu tentang pembaruan diagram arsitektur referensi ini, berlangganan umpan RSS.
| Perubahan | Deskripsi | Tanggal |
|---|---|---|
Publikasi awal | Diagram arsitektur referensi pertama kali diterbitkan. | 30 Januari 2023 |
catatan
Untuk berlangganan pembaruan RSS, Anda harus mengaktifkan plugin RSS untuk browser yang Anda gunakan.