Plugin key-rate-limit melakukan throttling terhadap permintaan berdasarkan nilai kunci tertentu yang diperoleh dari parameter URL atau header permintaan HTTP.
Jenis Plugin
Plugin throttling.
Field
|
Field |
Tipe Data |
Wajib |
Nilai Default |
Deskripsi |
|
limit_by_header |
string |
Tidak. Anda harus mengonfigurasi limit_by_header atau limit_by_param. |
- |
Header permintaan HTTP yang menyediakan nilai kunci untuk throttling. |
|
limit_by_param |
string |
Tidak. Anda harus mengonfigurasi limit_by_header atau limit_by_param. |
- |
Parameter URL yang menyediakan nilai kunci untuk throttling. |
|
limit_keys |
array of object |
Ya |
- |
Aturan rate limiting untuk nilai kunci tertentu. |
Field dalam objek limit_keys:
|
Item Konfigurasi |
Tipe Data |
Wajib |
Nilai Default |
Deskripsi |
|
key |
string |
Ya |
- |
Nilai yang akan dicocokkan terhadap permintaan masuk. |
|
query_per_second |
number |
Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day. |
- |
Jumlah maksimum permintaan yang diizinkan per detik. |
|
query_per_minute |
number |
Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day. |
- |
Jumlah maksimum permintaan yang diizinkan per menit. |
|
query_per_hour |
number |
Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day. |
- |
Jumlah maksimum permintaan yang diizinkan per jam. |
|
query_per_day |
number |
Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day. |
- |
Jumlah maksimum permintaan yang diizinkan per hari. |
Contoh
-
Lakukan throttling terhadap permintaan berdasarkan nilai kunci dari header permintaan x-ca-key.
limit_by_header: x-ca-key limit_keys: - key: 102234 query_per_second: 10 - key: 308239 query_per_hour: 10 -
Lakukan throttling terhadap permintaan berdasarkan nilai kunci dari parameter permintaan apikey.
limit_by_param: apikey limit_keys: - key: 9a342114-ba8a-11ec-b1bf-00163e1250b5 query_per_second: 10 - key: a6a6d7f2-ba8a-11ec-bec2-00163e1250b5 query_per_minute: 100 -
Aktifkan throttling untuk entri rute atau nama domain tertentu.
Terapkan konfigurasi plugin berikut ke entri rute
route-adanroute-b:limit_by_header: x-ca-key limit_keys: - key: 102234 query_per_second: 10Terapkan konfigurasi plugin berikut ke nama domain
*.example.comdantest.com:limit_by_header: x-ca-key limit_keys: - key: 102234 query_per_second: 100Catatan-
route-adanroute-bmengacu pada entri rute yang ditentukan saat membuat entri rute gateway. Jika suatu permintaan sesuai dengan salah satu entri rute tersebut, aturan yang bersangkutan akan berlaku. -
*.example.comdantest.commencocokkan nama domain permintaan. Jika suatu permintaan sesuai dengan salah satu domain tersebut, aturan yang bersangkutan akan berlaku. -
Aturan diterapkan secara berurutan. Jika aturan pertama cocok, aturan berikutnya akan diabaikan.
-