Kvóták és sebességkorlátok útmutatója
A FedEx minden egyes nap API-kérések ezreit fogadja. Három szabályozáskezelési mechanizmust használunk ennek a nagy volumennek a kezelésére. A FedEx erőforrásainak hatékony és eredményes elosztása érdekében kvóták, sebességkorlátok és küszöbértékek vannak érvényben.
A kvóták szervezetenként és API-projektenként kerülnek meghatározásra.
Szervezetenkénti kvóták
A tranzakciós kvóta az egy szervezettől egy nap alatt megengedett maximális számú API-kérés. Ez azt jelenti, hogy az API-fogyasztóknak figyelembe kell venniük egy egyedüli szervezeten 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. Ha egy szervezet a nap első néhány órájában eléri az 500 000 benyújtott kérést, akkor elérte a kvótáját. A nap hátralevő részére a „429 – Túl sok kérés – A napi tranzakciós kvóta túllépve. Próbálja újra 12:00 GMT után” hibaüzenet jelenik meg minden kérés esetén a következő napig
API-projektenkénti kvóták
Ezt a kvótát két különböző szinten alkalmazzák: a projekt és a képesség szintjén.
Mit értünk képesség alatt?
Minden egyes API az általa biztosított képességek alapján van csoportosítva. Minden egyes képességcsoport egy vagy több végpont kötege. Például az Alapvető integrált láthatóság képesség 6 API-végponttal, míg a Címellenőrzés képesség csak egy API-végponttal rendelkezik.
A Nyomonkövetési képesség alapértelmezett PCPP-kvótakorlátja (képességenként és projektekként) napi 100 000 kérés. Ez azt jelenti, hogy ha a szervezeten belüli projektek bármelyikéből a Nyomon követés funkció alatti 6 végpont bármelyikére irányuló forgalom meghaladja ezt a korlátot, akkor a nap végéig „429 – Túl sok kérés” hibaüzenetet küldünk. Ez vonatkozik a 6 végpont bármelyikére irányuló minden további követési kérelemre
Példa: Ha egy projekt korlátja nyomonkövetési képességenként (6 végponttal) 100 000, akkor mind a 6 végpont összes tranzakciója beleszámít a 100 000-es korlátba. Ha a projektje túllépi ezt a korlátot, akkor a következő nyomonkövetési tranzakciók esetében a „429 – Túl sok kérés – Napi tranzakciós kvóta túllépve” hibaüzenetet kapja a nap hátralévő részében 12:00 GMT órakor.
Sebességkorlátok
Az egyes projektek tranzakciós sebességkorlátja 10 másodpercenként 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 – 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 azért, hogy a FedEx API engedélyezési folyamata rugalmas legyen. Ez a mechanizmus csak az Auth-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 szervezet szintjén alkalmazott kvóták: a szervezeten belüli összes API által generált összesített forgalomra vonatkozik ez a tranzakciós kvóta.
A projekt szintjén alkalmazott kvóták: ez a tranzakciós kvóta az egy projekten belüli egy API-ra generált összesített forgalomra vonatkozik.
A sebességkorlátok a projekt szintjén kerülnek alkalmazásra: ez a sebességkorlát az egy projekten belüli összes API által generált összesített forgalomra vonatkozik.
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ő – egy szervezethez tartozó – projektekből származó 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 |
|---|---|
| Szervezetenkénti kvóták | Túl sok kérés – A napi tranzakciós kvóta túllépve. Próbálja újra 12:00 GMT után |
| Projektkvóták/API | Túl sok kérés – A projektenkénti napi kvóta túllépve. Próbálja újra 12:00 GMT után |
| Sebességkorlát | Túl sok kérés – A sebességkorlát-küszöb túllépve. Próbálja újra 10 másodperc elteltével |
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, majd azt követi egy másodpercenként 3 találat alatti találati arány, 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, majd azt követően 15 találat 5 másodperc alatt, akkor az 5 másodperc alatti 14 találatos adatlöket-küszöbértéket megsértették.
