All Products
Search
Document Center

Microservices Engine:Konfigurasikan kebijakan throttling

Last Updated:Mar 12, 2026

Saat layanan backend menerima lebih banyak permintaan daripada yang dapat ditangani, waktu respons meningkat dan kegagalan berantai dapat menyebar ke seluruh layanan mikro Anda. Kebijakan throttling pada gateway cloud-native MSE membatasi laju permintaan di tingkat entri rute sehingga lalu lintas berlebih ditolak sebelum mencapai layanan Anda.

MSE mendukung tiga jenis aturan throttling tingkat rute. Aturan ini bersifat independen dan dapat dikombinasikan pada rute yang sama:

Jenis AturanApa yang DikontrolKapan Digunakan
Throttling ruleQueries per second (QPS) pada suatu routeMelindungi dari lonjakan lalu lintas mendadak
Concurrency ruleJumlah permintaan yang diproses secara simultanMencegah kehabisan sumber daya akibat permintaan berdurasi panjang
Circuit breaking ruleAmbang batas laju error atau waktu responsMengisolasi Backend yang tidak sehat dan memungkinkan pemulihan

Cara kerja throttling

Distribusi ambang batas per node

Ambang batas yang Anda konfigurasikan berlaku di tingkat gateway. Untuk gateway multi-node, MSE membagi ambang batas tersebut merata di seluruh node dengan pembulatan ke atas:

Per-node threshold = ceil(Gateway-level threshold / Number of nodes)

Sebagai contoh, jika Anda mengatur ambang batas QPS sebesar 1001 pada gateway dengan 2 node, setiap node memberlakukan batas 501 QPS.

Interaksi ketiga jenis aturan

Aturan throttling, konkurensi, dan pemutusan sirkuit dievaluasi secara independen. Sebuah permintaan harus lolos dari semua aturan aktif pada suatu rute agar dapat mencapai backend:

  • Throttling rules memeriksa laju permintaan (QPS). Jika laju tersebut melebihi ambang batas, permintaan akan segera ditolak.

  • Concurrency Rules memeriksa jumlah permintaan yang sedang dalam proses. Jika jumlahnya melebihi ambang batas, permintaan langsung ditolak.

  • Circuit breaking rules memantau waktu respons atau laju error dalam jendela geser. Saat ambang batas dilampaui, sirkuit terbuka dan semua permintaan ke rute tersebut ditolak selama durasi yang telah dikonfigurasi.

Anda dapat mengaktifkan kombinasi apa pun dari aturan ini pada satu rute untuk mengatasi berbagai skenario kegagalan.

Konfigurasikan aturan throttling

Aturan throttling menolak permintaan ketika QPS pada suatu rute melebihi ambang batas yang ditentukan.

Penting

Antarmuka konfigurasi bervariasi tergantung versi gateway. Gateway v1.2.25 atau yang lebih baru menggunakan konfigurasi inline pada halaman. Gateway v1.1.0 hingga v1.2.24 menggunakan kotak dialog. Kedua antarmuka dijelaskan di bawah ini. Gateway v1.0.0 hanya mendukung throttling jendela waktu dasar. Lihat Konfigurasikan throttling untuk gateway v1.0.0.

Buka pengaturan throttling

  1. Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.

  2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di halaman Gateways, klik nama gateway tersebut.

  3. Di panel navigasi kiri, klik Routes, lalu klik tab Routes.

  4. Temukan rute target dan klik Policies di kolom Actions.

  5. Di bagian Policies, klik tab Throttling.

Gateway v1.2.25 atau yang lebih baru

  1. Pada tab Throttling, klik subtab Throttling Rules.

  2. Konfigurasikan parameter berikut:

    ParameterDeskripsi
    Gateway QPS ThresholdQPS maksimum yang diizinkan di seluruh gateway untuk rute ini
    Web Fallback BehaviorTindakan yang diambil saat ambang batas terlampaui: Return Specified Content atau Go to Specified Page
    Redirect URL(Jika Go to Specified Page dipilih) URL tujuan untuk pengalihan
    HTTP Status Code(Jika Return Specified Content dipilih) Kode status HTTP yang dikembalikan ke client. Default: 429
    Returned Content Type(Jika Return Specified Content dipilih) Format tanggapan: Plain Text atau JSON
    Returned HTTP Text(Jika Return Specified Content dipilih) Konten isi tanggapan
    EnableAktifkan atau nonaktifkan aturan
  3. Klik New atau Save. Di pesan konfirmasi, klik OK.

Gateway v1.1.0 hingga v1.2.24

  1. Di tab Throttling, klik subtab Add Throttling Rule, lalu klik Add Throttling Rule.

  2. Di kotak dialog Add Throttling Protection Rule:

    1. Pada langkah Configure a Throttling Rule, masukkan nilai pada bidang Overall QPS Threshold, lalu aktifkan sakelar Whether to open. Klik Next.

    2. Pada langkah Configure Throttling Behavior, klik New behavior untuk menentukan tanggapan HTTP yang dikembalikan saat throttling dipicu.

  3. Klik New.

Konfigurasikan aturan konkurensi

Aturan konkurensi menolak permintaan ketika jumlah total permintaan yang sedang dalam proses pada suatu rute melebihi ambang batas yang ditentukan. Gunakan aturan konkurensi untuk membatasi konsumsi sumber daya dari permintaan lambat atau berdurasi panjang.

Buka pengaturan throttling

Ikuti langkah navigasi yang sama seperti pada Konfigurasikan aturan throttling > Buka pengaturan throttling.

Gateway v1.2.25 atau yang lebih baru

  1. Di tab Throttling, klik subtab Concurrency Rules.

  2. Konfigurasikan parameter berikut:

    ParameterDeskripsi
    Gateway Parallelism ThresholdJumlah maksimum permintaan konkuren yang diizinkan di seluruh gateway untuk rute ini
    Web Fallback BehaviorTindakan yang diambil saat ambang batas terlampaui: Return Specified Content atau Go to Specified Page
    Redirect URL(Jika Go to Specified Page dipilih) URL tujuan untuk pengalihan
    HTTP Status Code(Jika Return Specified Content dipilih) Kode status HTTP yang dikembalikan ke client. Default: 429
    Returned Content Type(Jika Return Specified Content dipilih) Format tanggapan: Plain Text atau JSON
    Returned HTTP Text(Jika Return Specified Content dipilih) Konten isi tanggapan
    EnableAktifkan atau nonaktifkan aturan
  3. Klik New atau Save. Di pesan konfirmasi, klik OK.

Gateway v1.1.0 hingga v1.2.24

  1. Di tab Throttling, klik subtab Concurrency Rules, lalu klik Add Concurrency Rules.

  2. Di kotak dialog Add Concurrency Protection Rule:

    1. Pada langkah Configure a Protection Rule, masukkan nilai di bidang Overall Request Concurrency Threshold dan aktifkan sakelar Whether to open. Klik Next.

    2. Pada langkah Configure Throttling Behavior, klik Add Behavior untuk menentukan tanggapan HTTP yang dikembalikan saat throttling dipicu.

  3. Klik New.

Konfigurasikan aturan pemutusan sirkuit

Aturan pemutusan sirkuit sementara menghentikan pengiriman lalu lintas ketika waktu respons atau laju error pada suatu rute melebihi ambang batas. Selama periode pemutusan sirkuit, semua permintaan ke rute tersebut ditolak dengan tanggapan fallback yang telah dikonfigurasi. Setelah periode berakhir, gateway mengirim permintaan probe untuk memutuskan apakah akan melanjutkan lalu lintas normal atau memicu ulang pemutusan sirkuit.

Buka pengaturan throttling

Ikuti langkah navigasi yang sama seperti pada Konfigurasikan aturan throttling > Buka pengaturan throttling.

Gateway v1.2.25 atau yang lebih baru

  1. Di tab Throttling, klik subtab Fuse rule.

  2. Konfigurasikan parameter berikut:

    ParameterDeskripsi
    Statistical window durationDurasi jendela evaluasi. Rentang valid: 1 detik hingga 120 menit
    Minimum number of requestsJumlah minimum permintaan yang diperlukan dalam jendela sebelum pemutusan sirkuit dapat dipicu. Jika jumlah permintaan di bawah nilai ini, pemutusan sirkuit tidak diaktifkan meskipun ambang batas terlampaui
    Threshold TypeMetrik yang digunakan untuk mengevaluasi kondisi pemutusan sirkuit. Lihat Opsi jenis ambang batas
    Fusing time (s)Durasi periode pemutusan sirkuit. Semua permintaan ke rute tersebut ditolak selama waktu ini
    Web Fallback BehaviorTindakan yang diambil selama pemutusan sirkuit: Return Specified Content atau Go to Specified Page
    Redirect URL(Jika Go to Specified Page dipilih) URL tujuan untuk pengalihan
    HTTP Status Code(Jika Return Specified Content dipilih) Kode status HTTP yang dikembalikan ke client. Default: 429
    Returned Content Type(Jika Return Specified Content dipilih) Format tanggapan: Plain Text atau JSON
    Returned HTTP Text(Jika Return Specified Content dipilih) Konten isi tanggapan
    EnableAktifkan atau nonaktifkan aturan

    Opsi jenis ambang batas

    • Slow call ratio — Memulai pemutusan sirkuit saat persentase permintaan lambat melebihi ambang batas. Atur parameter Slow call RT untuk menentukan waktu respons (RT) maksimum yang dapat diterima. Permintaan apa pun dengan RT di atas nilai ini dihitung sebagai panggilan lambat. Setelah pemutusan sirkuit berakhir, gateway menguji permintaan berikutnya. Jika RT-nya dalam batas, lalu lintas dilanjutkan. Jika tidak, pemutusan sirkuit dipicu ulang.

    • Abnormal proportion (%) — Memulai pemutusan sirkuit saat persentase permintaan gagal melebihi ambang batas. Setelah pemutusan sirkuit berakhir, gateway melanjutkan lalu lintas secara otomatis.

  3. Klik Create atau Save. Di pesan konfirmasi, klik OK.

Gateway v1.1.0 hingga v1.2.24

  1. Di tab Throttling, klik subtab Fuse rule, lalu klik Added fusing rule.

  2. Di kotak dialog Add Circuit Breaking Protection Rule:

    1. Pada langkah Configure a Protection Rule, konfigurasikan parameter berikut dan aktifkan sakelar Whether to open. Klik Next.

      ParameterDeskripsi
      Statistical window durationPanjang jendela evaluasi. Rentang valid: 1 detik hingga 120 menit
      Minimum number of requestsJumlah permintaan minimum yang diperlukan sebelum pemutusan sirkuit dapat dipicu
      Threshold TypeSlow call ratio (%) atau Abnormal proportion (%). Untuk slow call ratio, konfigurasikan juga parameter Slow call RT untuk menetapkan ambang batas waktu respons
      Fusing time (s)Durasi periode pemutusan sirkuit
      Fuse recovery strategyPerilaku pemulihan setelah periode pemutusan sirkuit berakhir. Pilih Single probe recovery untuk menguji permintaan berikutnya sebelum melanjutkan traffic
    2. Pada langkah Configure Throttling Behavior, klik Add Behavior untuk menentukan tanggapan HTTP yang dikembalikan selama pemutusan sirkuit.

  3. Klik New.

Konfigurasikan throttling untuk gateway v1.0.0

Gateway yang menjalankan versi 1.0.0 hanya mendukung throttling jendela waktu dasar. Untuk menggunakan aturan throttling, konkurensi, dan pemutusan sirkuit, lakukan peningkatan ke versi 1.1.0 atau yang lebih baru.

  1. Masuk ke Konsol MSE.

  2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di bilah navigasi atas, pilih wilayah.

  3. Di halaman Gateways, klik nama gateway tersebut.

  4. Di panel navigasi kiri, pilih Routes > Route Settings. Temukan rute target dan klik Policies di kolom Actions.

  5. Di bagian Policies, klik tab Throttling.

    • Jika belum ada kebijakan throttling, klik Configure policy.

    • Jika kebijakan throttling sudah ada, klik ikon edit di samping Throttling Threshold.

  6. Di bagian Throttling Threshold, konfigurasikan parameter berikut dan klik OK:

    ParameterDeskripsi
    Time WindowPeriode penghitungan jumlah permintaan. Default: 1 detik
    Maximum Number of Requests (Single-machine Request Threshold)Jumlah maksimum permintaan per server tunggal yang diizinkan per node gateway dalam jendela waktu tersebut
  7. Aktifkan Enabled untuk mengaktifkan kebijakan throttling.

    • Saat diaktifkan, gateway membatasi permintaan pada rute ini berdasarkan jendela waktu dan ambang batas yang dikonfigurasi.

    • Saat dinonaktifkan, permintaan tidak dibatasi.

Verifikasi konfigurasi

Kirim permintaan uji untuk memastikan kebijakan throttling berfungsi sesuai harapan:

curl -I http://<gateway-ip>/demo/item/list

Ganti <gateway-ip> dengan alamat IP gateway Ingress Anda.

Tanggapan normal (throttling tidak dipicu):

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

Throttled Response (HTTP 429):

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

Header x-local-rate-limit: true mengonfirmasi bahwa kebijakan throttling gateway menolak permintaan tersebut.

FAQ

Apakah saya dapat menggunakan beberapa jenis aturan pada rute yang sama?

Ya. Aturan throttling, konkurensi, dan pemutusan sirkuit bersifat independen. Anda dapat mengaktifkan kombinasi apa pun pada satu rute. Sebuah permintaan harus lolos dari semua aturan aktif agar dapat mencapai backend.

Bagaimana cara menghitung ambang batas per node untuk gateway multi-node?

MSE membagi ambang batas tingkat gateway dengan jumlah node dan membulatkan ke atas. Misalnya, ambang batas QPS sebesar 1001 pada gateway 2-node menghasilkan batas per node sebesar 501 QPS.

Apa yang terjadi saat pemutusan sirkuit berakhir?

Perilaku bergantung pada jenis ambang batas:

  • Slow call ratio: Gateway mengirim permintaan probe. Jika waktu respons dalam batas, lalu lintas dilanjutkan. Jika tidak, pemutusan sirkuit dipicu ulang.

  • Abnormal proportion: Lalu lintas dilanjutkan secara otomatis setelah periode pemutusan sirkuit berakhir.

Versi gateway mana yang saya butuhkan untuk setiap jenis aturan?

Jenis aturanVersi gateway minimum
Basic time-window throttlingv1.0.0
Aturan throttling, konkurensi, dan pemutusan sirkuitv1.1.0
Konfigurasi inline (tanpa kotak dialog)v1.2.25