API Based Quota Uygulanması - Sabit Zaman Aralıkları
Bu senaryoda Apinizer üzerinde oluşturulan Mock API'ye API Based Quota politikasının uygulanması test edilecektir.
Quota politikası, belirli bir zaman diliminde yapılabilecek toplam istek sayısını sınırlar. Bu politika, genellikle daha uzun dönemli kullanım kontrolü sağlamak için kullanılır (örneğin, bir gün veya bir ay içinde belirli bir kullanıcıya 1000 istek izni vermek).
Senaryoda, gelen istekleri 1 günlük zaman diliminde 100 istek ile sınırlayacağız.
Mock api örneği oluşturup politikayı ekleyelim.
Politika olarak API Based Quota ekliyoruz.
Senaryoda, gelen istekleri Fixed Window (Sabit Pencere) yöntemiyle 1 gün için 100 istekle sınırlayalım.
- Eğer periyot 1 olarak ayarlanmışsa ve gün seçilmişse:
- Örneğin, politika saat 12:00:00'de kaydedildiyse, bu politika bulunduğunuz gün içinde saat 00:00:00 ile 23:59:59 arasında geçerli olacaktır.
- Ertesi gün saat 00:00:00'da yeni bir pencere başlar ve sayaç sıfırlanır.
Alan | Açıklama |
---|---|
Permitted Message Count | İzin verilen istek sayısıdır. Bu senaryoda 100 olarak belirledik. |
Interval Time Amount | Seçilen zaman birimine göre belirlenen periyottur. Bu senaryoda 1 olarak belirledik. |
Interval Time Unit | Zaman birimi. Bu senaryoda gün olarak belirledik. |
Her hedef için özel kota sınırları tanımlanır. | |
Interval Window Type | Zaman aralığını uygulamak için kullanılan yöntem. Fixed türünde 1 günlü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 günde 00:00:00 ve 23:59:59 zaman aralığında 100. istek sonrasında kısıtlama sınırına ulaşıldığı için, mesaj engellendi.
Target-Specific Quota Rules (Hedefe Özel Kota Kuralları)
Bu özellik sayesinde belirli kullanıcılar veya hedefler için özel kota sınırlamaları tanımlayabilirsiniz.
Politika olarak API Based Quota ekliyoruz.
- Target-Specific Quota Rules (Hedefe Özel Kota Kuralları) kullanarak kullanıcı bazlı (header, body veya başka bir alana göre) özel kota sınırları belirlenebilmektedir. Genel politikada gelen istekleri Fixed Window (Sabit Pencere) yöntemiyle 1 gün için 100 istekle sınırlarken, aynı zamanda user1 kullanıcısı için saatte maksimum 5 istek limiti tanımlanabilmektedir.
- Fixed Window yönteminde eğer periyot 1 olarak ayarlanmışsa ve gün seçilmişse:
- Örneğin, politika saat 12:00:00'de kaydedildiyse, bu politika bulunduğunuz gün içinde saat 00:00:00 ile 23:59:59 arasında geçerli olacaktır ve bu süre içinde genel kural olarak 100 istek yapılabilir.
- Ertesi gün saat 00:00:00'da yeni bir pencere başlar ve sayaç sıfırlanır.
- Target-Specific Quota Rules ile tanımladığımız user1 kullanıcısı için ise saat bazında bir limit belirlenmiştir. Eğer bir saat dilimi 00:00:00'da başlıyorsa, bu 00:00:00 ile 00:59:59 arasındaki süreyi kapsar ve user1 kullanıcısı bu zaman aralığında en fazla 5 istek yapabilir. Sonraki saat diliminde (01:00:00) sayaç sıfırlanır.
Test konsolundan örnek istek attığımızda, username Header'ından user1 kullanıcısı ile istek attığımızda mevcut saatte 00:00:00 ile 00:59:59 zaman aralığında 5. istek sonrasında kısıtlama sınırına ulaşıldığı için, mesaj engellendi.