Cloud Endpoints menyediakan kuota, sehingga Anda dapat mengontrol frekuensi aplikasi dapat memanggil API Anda. Dengan menetapkan kuota, Anda dapat menentukan batas penggunaan untuk melindungi API dari jumlah permintaan yang berlebihan dari aplikasi panggilan. Permintaan yang berlebihan mungkin disebabkan oleh kesalahan ketik sederhana atau dari sistem yang tidak didesain secara efisien yang melakukan panggilan yang tidak perlu ke API Anda. Terlepas dari penyebabnya, memblokir traffic dari sumber setelah mencapai tingkat tertentu diperlukan untuk kesehatan keseluruhan API Anda. Dengan menetapkan kuota, Anda memastikan bahwa satu aplikasi tidak dapat memberikan dampak negatif pada aplikasi lain yang menggunakan API Anda.
Halaman ini memberikan ringkasan fungsi utama yang disediakan oleh kuota.
Permintaan terikat dengan project konsumen
Setelah Anda mengonfigurasi kuota, Endpoint 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 mereka.
- Kirim kunci API. dengan setiap permintaan ke API Anda. Hal ini memungkinkan Endpoint mengidentifikasi project Google Cloud yang dikaitkan 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 memberlakukan 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 ke metode tertentu saja. 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
panggilan harus menangani kode status 429
dan menggunakan backoff
eksponensial atau beberapa logika
percobaan ulang lainnya untuk menurunkan tingkat panggilan ke API Anda.
Mengonfigurasi satu atau beberapa kuota
Anda dapat mengonfigurasi satu atau beberapa kuota yang diberi nama dan menentukan batas kapasitas yang berbeda untuk setiap kuota. Misalnya, Anda mungkin memiliki beberapa metode di API yang memerlukan banyak resource (seperti metode yang menjalankan kueri kompleks dan menampilkan daftar hasil yang besar), serta metode lain yang cepat dan ringan. Anda dapat mengonfigurasi dua kuota dengan batas kapasitas yang berbeda, dan mengaitkan metode yang menggunakan banyak resource dengan satu kuota, dan metode ringan dengan kuota lainnya.
Mengonfigurasi biaya
Saat mengaitkan metode dengan kuota, Anda akan selalu menentukan biaya untuk permintaan tersebut. Hal ini memungkinkan berbagai metode menggunakan kuota yang sama dengan tarif 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 sebesar 1, yang berarti klien dapat memanggil metode ringan 1.000 kali per menit. Untuk metode yang menggunakan banyak resource, Anda mengonfigurasi biaya sebesar 2. Artinya, setiap kali klien memanggil metode tersebut, penghitung permintaan akan bertambah 2, hingga batas 1.000 tercapai. Akibatnya, metode ini akan membatasi metode yang menggunakan resource secara intensif hingga 500 permintaan per menit.
Mengganti kuota yang dikonfigurasi
Halaman Endpoint > Layanan menampilkan kuota yang dikonfigurasi untuk setiap metode dalam API Anda. Jika diperlukan, Anda dapat mengganti batas yang dikonfigurasi untuk project konsumen tertentu. Untuk menetapkan penggantian, Anda harus memasukkan nomor project dari project konsumen di halaman Endpoint > Services. Jika tidak memiliki akses ke project konsumen yang ingin diganti, Anda perlu menghubungi seseorang yang memiliki akses untuk mendapatkan nomor project.