Kotalar ve işlem oran limitleri kılavuzu
FedEx her gün binlerce API isteği almaktadır. Bu büyük hacmi yönetmek için üç kısıtlama mekanizması kullanmaktayız. FedEx kaynaklarını etkili ve verimli bir şekilde dağıtabilmek için kotalar, işlem oran limitleri ve eşikler mevcuttur.
Kotalar kuruluş ve API projesi bazlı olarak tanımlanır.
Kuruluş başına kota
İşlem kotası, bir kuruluşun bir gün içinde izin verdiği maksimum API isteği sayısıdır. Bu durum, API tüketicilerinin tek bir kuruluştaki tüm projeler için başlattıkları toplam API isteği sayısını dikkate almaları gerektiği anlamına gelir. FedEx API yanıtında döndürülen verilerin hacmi fark etmeksizin tüm istekler eşit şekilde sayılır.
Örnek: Bir kuruluşun günlük 500.000 API isteği kotası olsun. Bir kuruluş günün ilk saatlerinde 500.000 istek gönderme sayısına ulaşırsa kotasını doldurmuş olur. Bu durumda günün geri kalanında bir sonraki güne kadar başlatılan tüm API istekleri için "429 – Çok fazla istek: Günlük işlem kotası aşıldı. 00:00 GMT'den sonra tekrar deneyin" hata kodu döndürülecektir
API projesi başına kota
Bu kota iki farklı seviyede uygulanmaktadır: proje ve işlev.
İşlevler ile neyi kastediyoruz?
Tüm API'ler sundukları işlevlere göre gruplandırılır. Her işlev grubu bir veya daha fazla uç noktadan oluşan bir setten oluşur. Örneğin, Temel Entegre Görünüm'ün işlevi 6 API uç noktasına sahipken Adres Doğrulama işlevi yalnızca 1 API uç noktasına sahiptir.
Takip işlevi için varsayılan Proje Başına İşlev (PCPP) kota sınırı günde 100 bin isteğe karşılık gelir. Yani, bir kuruluşa ait projelerin herhangi birinden Takip işlevi altında bulunan 6 uç noktanın herhangi birine giden istek sayısı bu sınırı aştığında, gün sonuna kadar size "429 - Çok fazla istek" hatası göndeririz. Bu durum 6 uç noktadan herhangi birine yönelik olarak sonraki tüm takip istekleri için geçerlidir
Örnek: Bir proje takip işlevi (6 uç noktası bulunan) başına 100 bin gibi bir limite sahipse 6 uç noktasının tümü için toplam işlem sayısı 100 bin limitine kadar kabul edilecektir. Projeniz bu limiti aşarsa sonraki takip işlemleri için günün geri kalanında GMT saatiyle 00:00'a kadar "429 – Çok fazla istek – Günlük işlem kotası aşıldı" hata kodunu alırsınız.
İşlem oran limitleri
Her bir projenin 10 saniyede 1.400 işlemlik işlem oran sınırı bulunmaktadır. İşlemlerin her 10 saniyelik zaman diliminde bu sınırı aşması halinde kısıtlama uygulanır.
Bu sınır ilk birkaç saniyede aşılırsa bu 10 saniyelik zaman aralığının kalan saniyelerinde gönderilen tüm işlemler kısıtlanır. Bu kısıtlama süresi boyunca "429 – Çok fazla istek" mesajını gösteren bir hata kodu döndürülür.
FedEx ilk 2 saniyede 1.400 istek alırsa sonraki 8 saniye boyunca yapacağınız tüm işlemler kısıtlanır ve "429 – Kısa süre içinde çok fazla istek aldık. Lütfen bir süre bekleyin ve tekrar deneyin" hata mesajı döndürülür
10 saniyenin sonunda kısıtlamalar kaldırılır ve sonraki 10 saniye boyunca gelen istek sayısını takip etmek için yeni bir sayım başlatılır.
Eşikler
FedEX API'si yetkilendirme işlemini esnek hale getirmek için eşikler IP adresi düzeyinde uygulanır. Bu mekanizma yalnızca Auth belirteci oluşturma hizmeti için geçerlidir. İki tür eşik bulunmaktadır:
- Seri eşik: saniyede 3 ziyaret, kesintisiz, 5 saniyelik aralıklarla
- Ortalama eşik: saniyede 1 ziyaret, kesintisiz, 2 dakikalık aralıklarla
- Genel bir IP adresi bu eşik sınırlarından herhangi birini ihlal ettiğinde 10 dakikalık bir ceza alır ve bu 10 dakikalık zaman dilimi içerisinde yapılan tüm yeni istekler "403 Yasaklı" durum kodu alır
- API tüketicileri bu ceza süresi içerisinde eşik sınırlarını ihlal etmeye devam ettiği takdirde ceza süresi uzatılır. API kullanıcıları, takip eden 10 dakika içinde eşik sınırını ihlal etmeyerek ceza sürelerini sonlandırabilir
- Eşik mekanizmaları kullanıcıların genel IP adresi temel alınarak oluşturulur. Bir kullanıcının tek bir genel IP adresi arkasında 10 sanal makine kurulumu gerçekleştirmesi durumunda bu IP adresinden gelen tüm istekler eşik sınırı toplamını etkiler
Trafik yönetimi
Aşağıdaki üç mekanizmanın her biri trafik yönetiminin farklı bir yönünü ele almaktadır:
Kuruluş düzeyinde uygulanan kotalar: Bir kuruluştaki tüm API'lerin birlikte oluşturduğu trafik bu işlem kotasına tabidir.
Proje düzeyinde uygulanan kotalar: Proje dahilindeki bir API işlevi için oluşturulan birleşik trafik bu işlem kotasına tabidir.
Proje düzeyinde uygulanan işlem oran limitleri: Bir projedeki tüm API'lerin birlikte oluşturduğu trafik bu işlem oran limitine tabidir.
Eşikler IP adresi düzeyinde uygulanır.
Not: FedEx suistimalleri, aşırı kullanımları ve kötü amaçlı kullanımları engellemek için yukarıda sözü edilen kısıtlama mekanizmalarının sınırlarını düşürebilir. FedEx, API tüketicileri arasında adil erişimi sağlama ve FedEx kaynaklarını etkili ve verimli bir şekilde tahsis etme amaçları doğrultusunda önceden haber vermeden tahsis üzerinde değişiklik yapma hakkını saklı tutar.
SSS
Bir kuruluşun farklı projelerinden gelen tüm API işlemleri kotayı etkiler mi?
Kota, kuruluş düzeyinde uygulanır. Bir kuruluş altında bir veya birden fazla projeniz olabilir ve her proje altında bir veya daha fazla API kullanabilirsiniz. Sonuç olarak, bir kuruluş altında olan farklı projelerden tüm API'lerin birlikte oluşturduğu trafik günlük kotayı etkiler.
Aynı 429 hata kodu hem kota ihlali hem de oran sınırı ihlali için döndürülüyorsa ne tür bir ihlale sebep olduğumu nasıl anlayabilirim?
Hata mesajını okuyarak ihlalin türünü anlayabilirsiniz.
| İHLAL | HATA MESAJI |
|---|---|
| Kuruluş başına kotalar | Çok fazla istek: Günlük işlem kotası aşıldı. 00:00 GMT'den sonra tekrar deneyin |
| API projesi başına kotalar | Çok fazla istek: Proje başına günlük kota aşıldı. 00:00 GMT'den sonra tekrar deneyin. |
| İşlem oran limiti | Çok fazla istek: İşlem oran limiti eşiği aşıldı. 10 saniye sonra tekrar deneyin |
Eşik sınırı ihlalinin çözümü nedir?
Bir OAuth belirteci bir saat süreyle geçerlidir. API tüketicilerinin bu belirteci bir saatlik sürenin tamamı boyunca kullanıp yalnızca bir önceki belirtecin süresi dolduktan sonra yeni bir belirteç talebinde bulunmalarını öneririz.
Eşik sınırının aşılmasına nasıl bir örnek verebilirsiniz?
5 saniye ve 2 dakika, sırasıyla seri ve ortalama eşikler için gözlem zaman aralıklarıdır. Bu aralıkların herhangi biri süresince bir IP adresinin eşik sınırlarından herhangi birini ihlal etmesi durumunda eşik cezası uygulanır.
Örnek: Bir IP adresi 2 saniye boyunca saniyede 3 ziyaret yapmış ve ardından ziyaret hızı saniyede 3 ziyaretin altına düşmüşse seri eşik ihlal edilmemiş olur. Ancak, IP adresi 5 saniye boyunca kesintisiz olarak saniyede 3 ziyaret yapıp ardından 5 saniyede 15 ziyaret yapmışsa 5 saniyede 14 ziyaret olan seri eşik ihlal edilmiş olur.
