全部产品
Search
文档中心

API Gateway:Konfigurasikan kebijakan pembatasan laju

更新时间:Jun 28, 2025

Pembatasan merupakan salah satu metode yang paling sering digunakan untuk kontrol trafik. Anda dapat menggunakannya untuk mencegah layanan backend kewalahan oleh permintaan eksternal berlebihan. Pembatasan ini mencegah terjadinya avalan bertingkat dan memastikan ketersediaan layanan backend. API Gateway berbasis cloud-native memungkinkan Anda mengonfigurasi kebijakan pembatasan pada tingkat rute. Kebijakan granular ini memastikan jumlah permintaan pada suatu rute tidak melebihi ambang batas tertentu selama periode waktu tertentu. Topik ini menjelaskan cara mengonfigurasi kebijakan pembatasan untuk gateway berbasis cloud-native.

Konfigurasikan kebijakan pembatasan laju

Penting

Ambang batas pembatasan yang Anda konfigurasikan adalah ambang batas pembatasan tingkat gateway. Anda dapat menghitung ambang batas pembatasan untuk node gateway menggunakan rumus berikut: Ambang batas pembatasan tingkat gateway / Jumlah node. Jika hasil perhitungan adalah nilai desimal, nilai tersebut dibulatkan ke atas menjadi bilangan bulat terdekat. Sebagai contoh, permintaan per detik (QPS) dari rute demo adalah 1.001. Jika gateway Anda memiliki dua node, batas QPS untuk rute demo pada setiap node gateway adalah 501.

  1. Anda dapat mengonfigurasi kebijakan pembatasan di dalam atau di luar instance API Gateway berbasis cloud-native.

    API Eksternal

    1. Masuk ke Konsol API Gateway berbasis cloud-native. Di panel navigasi sebelah kiri, klik API. Di bilah navigasi atas, pilih wilayah.

    2. Klik API yang ingin Anda kelola. Anda dapat memilih instance API Gateway berbasis cloud-native dari daftar drop-down atau memilih All Instances.image

    3. Di tab Routes, pilih rute yang ingin Anda kelola.

    API Internal

    1. Masuk ke Konsol API Gateway berbasis cloud-native. Di panel navigasi sebelah kiri, klik Instance. Di bilah navigasi atas, pilih wilayah.

    2. Di halaman Instance, klik ID instance API Gateway berbasis cloud-native yang ingin Anda kelola. Di panel navigasi sebelah kiri, klik API. Lalu, klik API yang ingin Anda kelola.

    3. Di tab Routes, pilih rute yang ingin Anda kelola.

  2. Klik tab Policy Configuration. Lalu, klik Enable Policy/Plug-in di kartu Inbound Processing.

  3. Tambahkan kebijakan pembatasan. Anda dapat mengonfigurasi traffic control, concurrency control, atau circuit breaking.

    Pembatasan Trafik

    Aturan pembatasan digunakan untuk memantau QPS suatu rute. Jika QPS mencapai ambang batas yang ditentukan, trafik langsung diblokir. Ini mencegah kerusakan layanan backend akibat lonjakan trafik dan memastikan ketersediaan tinggi layanan backend.

    Klik kartu Traffic Control. Di panel Add Policy: Traffic Control, atur parameter dan klik Add.

    Parameter

    Deskripsi

    Enable or Not

    Jika Anda menyalakan saklar ini, kebijakan kontrol trafik mulai berlaku.

    Overall QPS Threshold

    Masukkan nilai untuk overall QPS threshold.

    Web Fallback Behavior

    Pilih Return Specific Content atau Redirect to Specified Page untuk Web Fallback Behavior.

    Jika Anda memilih Return Specific Content untuk Web Fallback Behavior, Anda perlu mengonfigurasi parameter berikut.

    HTTP Status Code

    Tentukan HTTP status code yang ingin Anda kembalikan. Nilai default: 429.

    Type of Returned Content

    Pilih Regular Text atau JSON untuk Type of Returned Content.

    HTTP Text

    Tentukan teks yang ingin Anda kembalikan.

    Jika Anda memilih Redirect to Specified Page untuk Web Fallback Behavior, konfigurasikan parameter berikut ini.

    Redirect URL

    Tentukan URL to which you want to redirect.

    Kontrol konkurensi

    Aturan konkurensi digunakan untuk menghitung total jumlah permintaan yang sedang diproses oleh gateway. Jika total jumlah mencapai ambang batas yang ditentukan, trafik langsung diblokir. Saat mengonfigurasi aturan konkurensi, Anda dapat menentukan jumlah maksimum permintaan konkuren yang dapat diproses oleh layanan backend. Ini memastikan ketersediaan layanan backend dalam skenario dengan banyak permintaan konkuren.

    Klik kartu Concurrency Control. Di panel Add Policy: Concurrency Control, atur parameter dan klik Add.

    Parameter

    Deskripsi

    Enable or Not

    Jika Anda menyalakan saklar ini, aturan konkurensi mulai berlaku.

    Overall Concurrency Threshold

    Masukkan nilai untuk overall concurrency threshold.

    Web Fallback Behavior

    Pilih Return Specific Content atau Redirect to Specified Page untuk Web Fallback Behavior.

    Jika Anda memilih Return Specific Content untuk Web Fallback Behavior, Anda perlu mengonfigurasi parameter berikut.

    HTTP Status Code

    Tentukan HTTP status code yang ingin Anda kembalikan. Nilai default: 429.

    Type of Returned Content

    Pilih Regular Text atau JSON untuk Type of Returned Content.

    HTTP Text

    Tentukan teks yang ingin Anda kembalikan.

    Jika Anda memilih Redirect to Specified Page untuk Web Fallback Behavior, konfigurasikan parameter berikut ini.

    Redirect URL

    Tentukan URL to which you want to redirect.

    Pemutusan sirkuit

    Aturan pemutusan sirkuit digunakan untuk menurunkan prioritas dependensi suatu rute secara langsung ketika sistem mendeteksi bahwa waktu respons (RT) permintaan atau persentase permintaan abnormal pada rute mencapai ambang batas tertentu. Jika pemutusan sirkuit dipicu, sistem tidak akan memanggil permintaan pada rute dalam periode waktu tertentu. Ini memastikan ketersediaan tinggi layanan backend. Setelah periode waktu tertentu berakhir, sistem melanjutkan panggilan ke permintaan untuk rute tersebut.

    Klik kartu Circuit Breaking. Di panel Add Policy: Circuit Breaking, atur parameter dan klik Add.

    Parameter

    Deskripsi

    Enable or Not

    Jika Anda menyalakan saklar ini, aturan pembatasan yang dikonfigurasi mulai berlaku.

    Statistical Window Duration

    Durasi jendela waktu. Nilai valid: 1 detik hingga 120 menit.

    Minimum Number of Requests

    Jumlah minimum permintaan untuk memicu pemutusan sirkuit. Jika jumlah permintaan dalam jendela waktu saat ini kurang dari nilai parameter ini, pemutusan sirkuit tidak dipicu meskipun aturan pemutusan sirkuit terpenuhi.

    Threshold Type

    Tipe ambang batas. Nilai valid: Slow Call Ratio (%) dan Exception Ratio (%).

    1. Jika Anda menyetel parameter ini ke Slow Call Ratio (%), Anda harus mengonfigurasi parameter Slow Call RT, yang menentukan ambang batas untuk RT permintaan. Jika RT permintaan melebihi nilai parameter RT Panggilan Lambat, permintaan tersebut dihitung sebagai panggilan lambat. Tetapkan ambang batas penurunan ke ambang batas untuk persentase panggilan lambat. Setelah aturan pemutusan sirkuit diaktifkan, jika jumlah permintaan yang dilakukan dalam periode waktu tertentu lebih besar dari jumlah minimum permintaan yang ditentukan dan persentase panggilan lambat lebih besar dari ambang batas yang ditentukan, pemutusan sirkuit secara otomatis diterapkan pada permintaan yang diproses dalam periode pemutusan sirkuit berikutnya. Setelah periode pemutusan sirkuit berakhir, pemutus sirkuit mulai mendeteksi RT permintaan berikutnya. Jika RT permintaan berikutnya kurang dari nilai parameter RT Panggilan Lambat, pemutusan sirkuit berakhir. Jika RT permintaan berikutnya lebih besar dari nilai parameter RT Panggilan Lambat, pemutusan sirkuit dipicu lagi.

    2. Jika Anda menyetel parameter ini ke Exception Ratio (%), Anda harus menetapkan ambang batas penurunan ke ambang batas untuk persentase permintaan penyimpangan. Setelah aturan diaktifkan, jika jumlah permintaan penyimpangan dalam periode waktu tertentu lebih besar dari jumlah minimum permintaan yang ditentukan dan persentase permintaan penyimpangan lebih besar dari ambang batas yang ditentukan, pemutusan sirkuit secara otomatis diterapkan pada permintaan yang diproses dalam periode pemutusan sirkuit berikutnya.

    Slow Call RT

    threshold for the RT of requests.

    Circuit Breaking Ratio Threshold

    Persentase ambang batas untuk panggilan lambat. Jika ambang batas yang ditentukan tercapai atau dilampaui, pemutusan sirkuit dipicu. Nilai valid: 0-100. Nilai-nilai ini mewakili 0% hingga 100%.

    Circuit Breaking Duration (s)

    Periode di mana pemutusan sirkuit diterapkan. Jika pemutusan sirkuit diterapkan pada sumber daya, semua panggilan ke sumber daya gagal dalam periode pemutusan sirkuit yang ditentukan.

    Web Fallback Behavior

    Pilih Return Specific Content atau Redirect to Specified Page untuk Web Fallback Behavior.

    Jika Anda memilih Redirect to Specified Page untuk Web Fallback Behavior, Anda perlu mengonfigurasi parameter berikut.

    Redirect URL

    Tentukan URL to which you want to redirect.

    Jika Anda memilih Return Specific Content untuk Web Fallback Behavior, Anda perlu mengonfigurasi parameter berikut.

    HTTP Status Code

    Tentukan HTTP status code that you want to return. Nilai default: 429.

    Type of Returned Content

    Pilih Regular Text atau JSON untuk Type of Returned Content.

    HTTP Text

    Tentukan teks yang ingin Anda kembalikan.

Verifikasi hasil

Jalankan perintah berikut untuk mengirim permintaan uji:

curl -I http://121.196.XX.XX/demo/item/list     //Alamat IP masuk gateway.
  • Respon yang mirip dengan berikut ini dikembalikan jika kebijakan pembatasan tidak diaktifkan:

    HTTP/1.1 200 OK
    x-content-type-options: nosniff
    x-xss-protection: 1; mode=block
    cache-control: no-cache, no-store, max-age=0, must-revalidate
    pragma: no-cache
    expires: 0
    x-frame-options: DENY
    content-type: application/json
    content-length: 86
    date: Mon, 29 Nov 2021 08:28:00 GMT
    x-envoy-upstream-service-time: 4
    server: istio-envoy
  • Respon yang mirip dengan berikut ini dikembalikan jika kebijakan pembatasan diaktifkan. Kode status HTTP 429 dikembalikan.

    HTTP/1.1 429 Too Many Requests
    x-local-rate-limit: true
    content-length: 18
    content-type: text/plain
    date: Mon, 29 Nov 2021 08:28:01 GMT
    server: istio-envoy