Cloud Endpoints menyediakan kuota, yang memungkinkan Anda mengontrol kecepatan aplikasi dapat memanggil API Anda. Menetapkan kuota memungkinkan Anda menentukan batas penggunaan untuk melindungi API dari permintaan dalam jumlah yang berlebihan dari aplikasi yang memanggil. Permintaan yang berlebihan mungkin disebabkan oleh kesalahan ketik sederhana atau dari sistem yang dirancang secara tidak efisien yang melakukan panggilan yang tidak perlu ke API Anda. Apa pun penyebabnya, memblokir traffic dari sumber setelah mencapai tingkat tertentu diperlukan untuk kesehatan API Anda secara keseluruhan. Dengan menetapkan kuota, Anda memastikan bahwa satu aplikasi tidak dapat berdampak buruk pada aplikasi lain yang menggunakan API Anda.
Halaman ini memberikan ringkasan tentang fungsi utama yang disediakan oleh kuota.
Permintaan terikat dengan project konsumen
Setelah Anda mengonfigurasi kuota, Endpoints akan melacak jumlah permintaan per menit per project Google Cloud konsumen. Setiap aplikasi yang memanggil API Anda harus:
- Memiliki project Google Cloud.
- Telah mengaktifkan API Anda di project Google Cloud-nya.
- Kirim kunci API. dengan setiap permintaan ke API Anda. Hal ini memungkinkan Endpoints mengidentifikasi project Google Cloud yang terkait dengan aplikasi panggilan dan menambahkan penghitung permintaan untuk project Google Cloud.
Untuk informasi tentang cara mengonfigurasi kunci API, lihat hal berikut:
Anda dapat meminta konsumen API membuat project mereka sendiri di konsol Google Cloud, atau Anda dapat membuat project untuk mereka. Karena Endpoint menerapkan kuota per project, Anda harus memiliki satu project untuk setiap konsumen API.
Membatasi jumlah permintaan per menit
Dengan menetapkan kuota, Anda dapat membatasi jumlah permintaan per menit ke seluruh API atau hanya ke metode tertentu. Jika kode klien dari project konsumen melebihi batas yang telah Anda konfigurasi, permintaan akan ditolak sebelum sampai ke API Anda, dan kode status HTTP 429 too many
requests
akan ditampilkan. Aplikasi
pemanggil harus menangani kode status 429
dan menggunakan backoff
eksponensial atau beberapa logika percobaan ulang
lainnya untuk mengurangi frekuensi panggilan ke API Anda.
Mengonfigurasi satu atau beberapa kuota
Anda dapat mengonfigurasi satu atau beberapa kuota bernama dan menentukan batas kapasitas yang berbeda untuk setiap kuota. Misalnya, Anda dapat memiliki beberapa metode di API yang memerlukan banyak resource (seperti metode yang menjalankan kueri kompleks dan menampilkan daftar hasil yang besar), dan metode lain yang cepat dan ringan. Anda mungkin ingin mengonfigurasi dua kuota dengan batas kapasitas yang berbeda, dan mengaitkan metode yang membutuhkan banyak resource dengan satu kuota, dan metode ringan dengan kuota lainnya.
Mengonfigurasi biaya
Saat mengaitkan metode dengan kuota, Anda selalu menentukan biaya untuk permintaan. Hal ini memungkinkan metode yang berbeda menggunakan kuota yang sama dengan tingkat yang berbeda. Anda dapat menggunakan biaya sebagai alternatif untuk mengonfigurasi kuota yang berbeda. Misalnya, Anda mengonfigurasi kuota dengan batas 1.000 permintaan per menit. Untuk metode ringan, Anda mengonfigurasi biaya 1, yang berarti klien dapat memanggil metode ringan 1.000 kali per menit. Untuk metode yang memerlukan banyak resource, Anda mengonfigurasi biaya 2, yang berarti setiap kali klien memanggil metode, penghitung permintaan bertambah 2, hingga batas 1.000 tercapai. Akibatnya, hal ini membatasi metode yang memerlukan banyak resource menjadi 500 permintaan per menit.
Mengganti kuota yang dikonfigurasi
Halaman Endpoints > Services menampilkan kuota yang dikonfigurasi untuk setiap metode di API Anda. Jika perlu, Anda dapat mengganti batas yang dikonfigurasi untuk project konsumen tertentu. Untuk menetapkan penggantian, Anda harus memasukkan nomor project konsumen di halaman Endpoints > Services. Jika tidak memiliki akses ke project konsumen yang ingin diganti, Anda harus menghubungi seseorang yang memiliki akses untuk mendapatkan nomor project.