Bagikan melalui


Membatasi konkurensi

BERLAKU UNTUK: Semua tingkatAN API Management

Kebijakan limit-concurrency mencegah kebijakan yang terlampir dijalankan oleh lebih dari jumlah permintaan yang ditentukan kapan saja. Setelah permintaan melebihi jumlah tersebut, permintaan baru akan langsung gagal dengan kode status 429 Terlalu Banyak Permintaan.

Perhatian

Karena sifat arsitektur pelambatan yang terdistribusi, pembatasan laju tidak pernah sepenuhnya akurat. Perbedaan antara jumlah permintaan yang dikonfigurasi dan permintaan sebenarnya yang diizinkan bervariasi berdasarkan volume dan tarif permintaan, latensi backend, dan faktor lainnya.

Catatan

Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.

Pernyataan kebijakan

<limit-concurrency key="expression" max-count="number">
        <!— nested policy statements -->
</limit-concurrency>

Atribut

Atribut Deskripsi Wajib diisi Default
kunci String . Menentukan cakupan konkurensi. Dapat dibagikan oleh beberapa kebijakan. Ekspresi kebijakan diizinkan. Ya T/A
jumlah maksimal Bilangan bulat. Menentukan jumlah maksimum permintaan yang diizinkan untuk memasuki kebijakan. Ekspresi kebijakan tidak diizinkan. Ya T/A

Penggunaan

Catatan penggunaan

  • Jumlah maksimum permintaan yang diberlakukan oleh API Management lebih rendah ketika beberapa unit kapasitas disebarkan di suatu wilayah.

Contoh

Contoh berikut menunjukkan cara membatasi jumlah permintaan yang diteruskan ke backend berdasarkan nilai variabel konteks.

<policies>
  <inbound>…</inbound>
  <backend>
    <limit-concurrency key="@((string)context.Variables["connectionId"])" max-count="3">
      <forward-request timeout="120"/>
    </limit-concurrency>
  </backend>
  <outbound>…</outbound>
</policies>

Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat: