Bu politika ile her API ve endpoint için aşağıdaki ayarlar yapılabilir:

  • İzin Verilen Mesaj Sayısı (Permitted Message Count): Belirtilen zaman aralığında izin verilen maksimum istek sayısı.
  • Zaman Aralığı Süresi (Time Interval Period Length): Zaman aralığının uzunluğu.
  • Zaman Aralığı (Time Interval): Zaman aralığının birimi (saniye, dakika, saat, gün, ay).

Rate limit kontrolü şu şekilde çalışır:

  1. İstek geldiğinde, hedef değişken değeri (örn. IP adresi) alınır.
  2. Bu değerin hedef kimlik listesinde olup olmadığı kontrol edilir.
  3. Eğer değer hedef kimlik listesinde varsa veya regex ile eşleşiyorsa, ilgili endpoint için rate limit kontrolü yapılır.
  4. Eğer kullanıcı limitini aşmışsa istek reddedilir, aşmamışsa işleme devam edilir.
  5. İsteğe yanıt verilirken, eğer yapılandırıldıysa, rate limit istatistikleri yanıt başlıklarına eklenir.

Bu yapılandırma, API'lerinizi aşırı kullanıma karşı korumak ve farklı kullanıcılar için farklı kullanım limitleri belirlemek için güçlü bir mekanizma sağlar.


Rate Limit kontrol listesi sayfası ayarlarını içeren görsele aşağıda yer verilmiştir:

Rate limit konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.

Alan

Açıklama

İsim

(Name)

Konfigürasyonun kullanımını ve yönetimini kolaylaştırmak için isim yazılabilir. Konfigürasyon yönetimi ve seçimi sırasında bu isme ihtiyacınız olacaktır.

Açıklama

(Description)

Konfigürasyonun kullanımını ve yönetimini kolaylaştırmak için açıklama yazılabilir.

İşletme Sırası

(Execution Order)

Rate limit politikasının ne zaman uygulanacağını belirler. Rate limit kontrolleri her zaman "ALL" hattındaki politikalardan sonra çalışır ama  FIRST seçildiğinde, endpoint  üzerindeki diğer politikalardan önce, LAST seçildiğinde ise endpoint  üzerindeki diğer politikalardan sonra uygulanır.

 

( )

Rate limit hesaplamasında kullanılacak zaman aralığının türünü belirler. FIXED veya SLIDING değerlerini alabilir. FIXED seçildiğinde, belirli bir süre içinde (örn. her saat başı) sabit bir sayıda istek kabul edilir. SLIDING seçildiğinde, son belirli süre içindeki (örn. son 1 saat) istek sayısı dikkate alınır. 

 

( )

Cache servisine bağlanırken beklenecek maksimum süreyi saniye cinsinden belirler.

 

( )

Cache servisine bağlantı sırasında hata oluştuğunda yapılacak işlemi belirler. FAIL seçildiğinde bağlantı hatası durumunda istek reddedilir, CONTINUE seçildiğinde ise istek işlenmeye devam eder.

(Show Rate Limit Statistics in Response Header)

Rate limit bilgilerinin yanıt başlıklarında gösterilip gösterilmeyeceğini belirler. TRUE olarak ayarlandığında, yanıt başlıklarında kalan istek sayısı, limit değeri ve limitin yenileneceği süre gibi bilgiler eklenir (RateLimit-Remaining, RateLimit-Limit, RateLimit-Reset, X-RateLimit-Identity, X-RateLimit-Type başlıkları).

Uygulanan alan

( )

Rate limit uygulanacak kullanıcı veya istemciyi tanımlamak için kullanılacak değişkeni belirler. Bu, örneğin IP adresi, kullanıcı kimliği veya API anahtarı olabilir. Bu değişken değeri, kimlik belirleme için kullanılır.

(Regular Expressions for Target Credentials)

Hedef kimlikleri belirlemek için kullanılan düzenli ifadelerdir. Sistemdeki kimlik değerlerini esnek bir şekilde eşleştirmek için kullanılır.

(Target Credentials)

Rate limit uygulanacak spesifik kimlik değerlerinin listesidir. Bu listede bulunan kimlik değerleri için rate limit uygulanır.

(APIs and Endpoints)

Rate limit politikasının uygulanacağı API'ler ve endpoint'lerin listesidir.