Bu senaryoda Apinizer üzerinde oluşturulan Mock API'ye API Based Throttling politikasının uygulanması test edilecektir.

Servisler için throttling kullanmak aşırı yüklenmeyi önlemeyerek istek miktarını sınırlama yöntemidir.

Senaryoda, gelen istekleri 5 dakikalık eşit zaman aralıklarına bölerek her 5 dakikada yalnızca 10 isteğin kabul edilmesini sağlayabiliriz.


Mock api örneği oluşturup politikayı ekleyelim.

Politika olarak API Based Throttling ekliyoruz.


Senaryoda, gelen istekleri Fixed Window (Sabit Pencere) yöntemiyle 5 dakikada 10 istekle sınırlayalım.

  • Eğer periyot 5 dakika olarak ayarlanmışsa ve örneğin politika saat 12:00:00'da kaydedildiyse:
  • 12:00:00 ile 12:04:59 arasındaki istekler aynı pencerede sayılır.
  • 12:05:00'da yeni bir pencere başlar ve sayaç sıfırlanır.


 



AlanAçıklama
Message Countİzin verilen istek sayısıdır. Bu senaryoda 10 olarak belirledik.
Interval Time AmountSeçilen zaman birimine göre belirlenen periyottur. Bu senaryoda 5 olarak belirledik.
Interval Time UnitZaman birimi. Bu senaryoda dakika olarak belirledik.
Interval Window TypeZaman aralığını uygulamak için kullanılan yöntem. Fixed türünde 5 dakikalık zaman periyotları.
Cache Connection Timeout (Second)Politika ile cache arasındaki bağlantı için bağlantı zaman aşımı değerini belirtin.

Cache ile bağlantı problemi yaşanırsa, hata döndürmesi (Fail seçilir) veya istek kısıtı uygulanmadan devam etmesi (Continue seçilir) durumu belirlenir.


Test konsolundan örnek istek attığımızda, mevcut zamanda saat 14:00:00 ve 14:04:59 zaman aralığında 10. istek sonrasında kısıtlama sınırına ulaşıldığı için, mesaj engellendi.