Permintaan Throttle API untuk throughput yang lebih baik - Amazon API Gateway

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

Permintaan Throttle API untuk throughput yang lebih baik

Anda dapat mengonfigurasi pembatasan dan kuota untuk API Anda untuk membantu melindungi mereka dari kewalahan oleh terlalu banyak permintaan. Baik throttle dan kuota diterapkan atas dasar upaya terbaik dan harus dianggap sebagai target daripada plafon permintaan yang dijamin.

API Gateway membatasi permintaan ke API Anda menggunakan algoritme token bucket, tempat token diperhitungkan untuk permintaan. Secara khusus, API Gateway memeriksa tingkat dan ledakan pengiriman permintaan terhadap semua API di akun Anda, per Wilayah. Dalam algoritma token bucket, burst dapat memungkinkan overrun yang telah ditentukan sebelumnya dari batas-batas tersebut, tetapi faktor lain juga dapat menyebabkan batas dikuasai dalam beberapa kasus.

Jika pengiriman permintaan melebihi tingkat permintaan kondisi tunak dan batas burst, API Gateway mulai membatasi permintaan. Klien mungkin menerima tanggapan 429 Too Many Requests kesalahan pada saat ini. Setelah menangkap pengecualian tersebut, klien dapat mengirimkan kembali permintaan yang gagal dengan cara yang membatasi tarif.

Sebagai pengembang API, Anda dapat menetapkan batas target untuk setiap tahapan atau metode API untuk meningkatkan kinerja keseluruhan di semua API di akun Anda. Atau, Anda dapat mengaktifkan paket penggunaan untuk mengatur pembatasan pada pengiriman permintaan klien berdasarkan tarif permintaan dan kuota yang ditentukan.

Bagaimana pengaturan batas pelambatan diterapkan di API Gateway

Sebelum Anda mengonfigurasi setelan throttle dan kuota untuk API Anda, penting untuk memahami cara penerapannya oleh Amazon API Gateway.

Amazon API Gateway menyediakan empat tipe dasar pengaturan terkait pelambatan:

  • AWS batas pembatasan diterapkan di semua akun dan klien di suatu wilayah. Pengaturan batas ini ada untuk mencegah API Anda — dan akun Anda — kewalahan oleh terlalu banyak permintaan. Batasan ini ditetapkan oleh AWS dan tidak dapat diubah oleh pelanggan.

  • Batas per akun diterapkan ke semua API di akun di Wilayah tertentu. Batas tingkat tingkat akun dapat ditingkatkan berdasarkan permintaan - batas yang lebih tinggi dimungkinkan dengan API yang memiliki batas waktu lebih pendek dan muatan yang lebih kecil. Untuk meminta peningkatan batas pembatasan tingkat akun per Wilayah, hubungi Pusat Dukungan.AWS Untuk informasi selengkapnya, lihat Kuota Amazon API Gateway dan catatan penting. Perhatikan bahwa batas ini tidak boleh lebih tinggi dari batas AWS pelambatan.

  • Batas pelambatan per API, per tahap diterapkan pada tingkat metode API untuk suatu tahap. Anda dapat mengonfigurasi pengaturan yang sama untuk semua metode, atau mengonfigurasi pengaturan throttle yang berbeda untuk setiap metode. Perhatikan bahwa batas ini tidak boleh lebih tinggi dari batas AWS pelambatan.

  • Batas pembatasan per klien diterapkan pada klien yang menggunakan kunci API yang terkait dengan paket penggunaan Anda sebagai pengenal klien. Perhatikan bahwa batas ini tidak boleh lebih tinggi dari batas per akun.

Setelan terkait pelambatan API Gateway diterapkan dalam urutan berikut:

Pelambatan tingkat akun per Wilayah

Secara default, API Gateway membatasi permintaan kondisi tunak per detik (RPS) di semua API dalam AWS akun, per Wilayah. Ini juga membatasi burst (yaitu, ukuran bucket maksimum) di semua API dalam AWS akun, per Wilayah. Di API Gateway, batas burst mewakili jumlah maksimum target pengiriman permintaan bersamaan yang akan dipenuhi API Gateway sebelum mengembalikan respons 429 Too Many Requests kesalahan. Untuk informasi lebih lanjut tentang pembatasan kuota, lihat. Kuota Amazon API Gateway dan catatan penting

Mengonfigurasi target pelambatan level API dan level tahap dalam rencana penggunaan

Dalam paket penggunaan, Anda dapat menetapkan target pelambatan per metode untuk semua metode di API atau level tahap. Anda dapat menentukan laju pelambatan, yang merupakan tingkat, dalam permintaan per detik, token tersebut ditambahkan ke keranjang token. Anda juga dapat menentukan burst throttling, yang merupakan kapasitas bucket token.

Anda dapat menggunakan AWS CLI, SDK, dan AWS Management Console untuk membuat rencana penggunaan. Untuk informasi selengkapnya tentang cara membuat paket penggunaan, lihatMembuat dan menggunakan paket penggunaan dengan kunci API.

Mengkonfigurasi target pelambatan tingkat tahap

Anda dapat menggunakan AWS CLI, SDK, dan AWS Management Console untuk membuat target pelambatan tingkat tahap.

Untuk informasi selengkapnya tentang cara menggunakan AWS Management Console untuk membuat target pelambatan tingkat tahap, lihat. Perbarui pengaturan panggung Untuk informasi selengkapnya tentang cara menggunakan AWS CLI untuk membuat target pelambatan tingkat tahap, lihat create-stage.

Mengonfigurasi target pelambatan tingkat metode dalam rencana penggunaan

Anda dapat menetapkan target pelambatan tambahan pada tingkat metode dalam Rencana Penggunaan seperti yang ditunjukkan pada. Buat rencana penggunaan Di konsol API Gateway, ini diatur dengan menentukanResource=<resource>, Method=<method> dalam pengaturan Configure Method Throttling. Misalnya, PetStoremisalnya, Anda dapat menentukanResource=/pets,Method=GET.