Kvóták és sebességkorlátok útmutatója
A FedEx API-ra három szabályozáskezelési mechanizmus érvényes: kvóták, sebességkorlátok és küszöbértékek.
Kvóták
A tranzakciós kvóta az a maximális számú API-kérés, amelyet egy szervezet egy nap alatt beküldhet. Ez azt jelenti, hogy az API-fogyasztóknak figyelembe kell venniük a szervezetükön belüli összes projektre vonatkozóan kezdeményezett API-kérések teljes számát. Minden egyes kérés egyformán számít, függetlenül a FedEx API-válaszban visszaküldött adatok mennyiségétől.
Példa: Egy szervezet 500 000 API-kérés/nap kvótával rendelkezik. A nap első néhány órájában ez a szervezet 500 000 kérést nyújtott be, és ezzel elérte a napi kvótát. A nap hátralevő részére a „429 Too many requests (Túl sok kérés) – A napi tranzakciós kvóta túllépve. Próbálja újra 24:00 GMT után.” hibaüzenet jelenik meg minden kérés esetén a következő napig.
Sebességkorlátok
Az egyes projektek tranzakciós sebességkorlátja 10 másodperc alatt 1400 tranzakcióban van korlátozva. A szabályozáskezelési korlátozások életbe lépnek, ha a tranzakciók túllépik ezt a korlátot a 10 másodperces időkeretek alatt.
Ha ezt a korlátot az első néhány másodpercben elérik, akkor a 10 másodperces ablak hátralévő másodperceiben elküldött tranzakciókat korlátozzák. E korlátozási időszak alatt a „429 Too many requests (Túl sok kérés)” hibaüzenet jelenik meg.
Ha a FedEx az első 2 másodpercben 1400 kérést kap, akkor a következő 8 másodpercben minden további tranzakciót korlátozni fog, valamint a „429 Too many requests (Túl sok kérés) – Túl sok kérés érkezett rövid időn belül. Kérjük, várjon egy kicsit, mielőtt újra próbálkozik.” hibaüzenet jelenik meg.
A 10 másodperc letelte után a korlátozások megszűnnek, és egy másik számláló kezdi nyomon követni a következő 10 másodpercben a kérések számát.
Küszöbértékek
A küszöbértékek az IP-cím szintjén kerülnek alkalmazásra annak érdekében, hogy a FedEx API engedélyezési folyamata rugalmas legyen. Ez a mechanizmus csak az OAuth-tokengeneráló szolgáltatásra alkalmazható. Kétféle küszöbérték van:
- Adatlöket-küszöbérték: 3 találat másodpercenként folyamatosan, egy 5 másodperces időtartam alatt
- Átlagos küszöbérték: 1 találat másodpercenként folyamatosan, egy 2 perces időtartam alatt
Ha egy nyilvános IP-cím megsérti e küszöbértékek bármelyikét, akkor 10 percig büntetést kap, és minden további kérés ebben a 10 perces időkeretben „403 Forbidden” státuszkódot kap.
Ha az API-fogyasztók a büntetési idő alatt továbbra is megsértik bármely küszöbértékeket, a büntetési idő meghosszabbodik. Az API-felhasználók megszüntethetik a büntetési időt, ha a következő 10 percben nem sértik meg a küszöbértéket.
A küszöbérték-mechanizmusok a felhasználó nyilvános IP-címén alapulnak. Ha egy felhasználó 10 virtuális géppéldányt állít be egy nyilvános IP-cím mögé, akkor az erről az IP-címről érkező összes kérés beleszámít a küszöbértékbe.
Forgalomkezelés
E három mechanizmus mindegyike a forgalomkezelés egy-egy sajátos aspektusával foglalkozik:
A kvóták a szervezet szintjén kerülnek alkalmazásra, azaz a szervezeten belüli összes API által generált összesített forgalomra vonatkozik ez a tranzakciós kvóta.
A sebességkorlátok a projekt szintjén kerülnek alkalmazásra, azaz egy projekten belül az összes API által generált összesített forgalomra vonatkozik ez a sebességkorlát.
A küszöbértékek az IP-cím szintjén kerülnek alkalmazásra.
Megjegyzés: A FedEx a fent említett bármely szabályozáskezelési mechanizmus korlátait lejjebb viheti a helytelen használat, a túlhasználat és a visszaélés megelőzése érdekében. A FedEx fenntartja a jogot, hogy előzetes értesítés nélkül megváltoztassa az elosztást az API-fogyasztók közötti egyenlő hozzáférés fenntartása, valamint a FedEx erőforrásainak hatékony és eredményes elosztása érdekében.
GYIK
A szervezet különböző projektekből származó összes API-tranzakciója beleszámít a kvótába?
A kvóta a szervezet szintjén kerül alkalmazásra. Egy szervezet alatt egy vagy több projekt, valamint minden egyes projekt alatt egy vagy több API lehet. Ennek eredményeképpen a különböző – ugyanazon szervezethez tartozó – projektekből származó összes API által generált összesített forgalom beleszámít a napi kvótába.
Ha ugyanazt a 429-es hibát kapom vissza mind a kvóta megszegése, mind a sebességkorlátok megsértése esetén, hogyan tudom azonosítani, hogy milyen szabálysértés történt?
A szabálysértés típusát a hibaüzenet elolvasásával tudja azonosítani.
SZABÁLYSÉRTÉS | HIBAÜZENET |
---|---|
Kvóta | Túl sok kérés – A napi tranzakciós kvóta túllépve. Próbálja újra 24:00 GMT után. |
Sebességkorlát | Rövid idő alatt túl sok kérés érkezett. Várjon egy kicsit, és próbálja meg újra. |
Mi a megoldás a küszöbérték megsértése esetén?
Az OAuth-token egy óráig érvényes. Javasoljuk, hogy az API-fogyasztók használják ezt a tokent egy teljes órán keresztül, majd akkor kérjenek új tokent, amikor az előző lejár.
Mi a példa a küszöbérték átlépésére?
Mind az 5 másodperc, mind a 2 perc megfigyelési ablakok az adatlöket-küszöbérték és az átlagos küszöbérték esetében. Ezen ablakok bármelyikében, ha egy IP-címről valamelyik küszöbértéket megsértik, akkor a küszöbérték-büntetés kiszabásra kerül.
Példa: Ha egy IP-címre 2 másodpercig másodpercenként 3 találat érkezik, de ezután a találati arány másodpercenként 3 találat alá csökken, akkor az adatlöket-küszöbérték nem sérült. Ha azonban egy IP-címen 5 másodpercen keresztül folyamatosan 3 találat van másodpercenként (pl. legalább 15 találat 5 másodperc alatt, ha ez a találati arány fennmarad), akkor az adatlöket-küszöbértéket megsértették.