IOSOR Знање
API лимити од пилота до продукције: backoff без сагоревања prepaid
Пилотски и продукцијски лимити, експоненцијални backoff, идемпотентност, кључеви sandbox versus продукција и ограничени прозор replay webhook — да retry не испразне prepaid новчаник.
429 не позива да чекићате send API док нешто не прође. На prepaid retrystorm је догађај новчаника: двоструки OTP, наслагани аларми, неспарени редови ledger. Лимити постоје да производ, engineering и финансије деле један плафон. Од пилота до продукције није «склони cap» — уговорени лимити, backoff који поштује идемпотентност, одвојени кључеви sandbox и продукције, и прозор replay webhook који не дебитује двоструко. Види идемпотентност, понављања и новац.
IOSOR је prepaid white-label: аутентификовани позиви, корелабилни дебити, клијентски сигурне грешке које никад не изливају терет туђег бренда. live / in setup независно је од тога колико тврдо retrирате — коридор in setup не постаје Live јер је клијент loop-овао. Близу USD 1,000+ месечне употребе буџети retry и cutover кључева улазе у комерцијални преглед. Држите прелаз са sandbox-а на продукцију и потпис вебхука и прозор понављања у истом runbook.
Лимити штите prepaid, то није bug
Лимити ограничавају колико прихваћених intent удара у новчаник по прозору — не колико TCP покушаја је balancer направио. Документујте прозор (по кључу, налогу, класи дестинације), код и Retry-After. Клијент који чита 429 као «покушај јаче» трчи против финансија. Извезите одбијања лимита поред успешних дебита. Каталог live ипак стаје на објављеном плафону; in setup није неограничени sandbox.
| Сигнал | Engineering | Новчаник |
|---|---|---|
| 429 / Retry-After | Backoff, поштујте прозор | Нулла extra дебита за исти intent |
| 5xx / timeout | Retry у буџету са истим кључем идемпотентности | Један дебит ако је први покушај слетео |
| 4xx пословно одбијање | Не retrирајте наслепо | Без дебита, или именовани ред одбијања |
Backoff без другог дебита: лимити са идемпотентношћу
Експоненцијални backoff без кључа идемпотентности је како дрхтава мрежа постаје два OTP. Кључ је јединствен по пословном intent, не по TCP покушају, и враћа исти прихваћени резултат у јасном TTL. Кориснички resend је друга продуктна радња са властитим лимитом. Stop ниског салда важи: retry не сме пробити празан новчаник.
Пилотски лимити versus продукција
Пилотски кључеви треба да буду тешњи: низак обим, брза видљивост, јефтине грешке. Продукцијски лимити су уговорени за коридоре које стварно вртите. Подизање плафона је промена налога са власником. Тестови оптерећења припадају sandbox кључевима; продукцијски кључ у soak сагорева prepaid. Не обећавајте продукцијски QPS док је коридор каталога in setup.
Кључеви и replay webhook у истом cutover
Лимити send не спасавају ако consumer webhook обради DLR двапут. Cutover: замрзните sandbox саобраћај, издајте продукцијске кључеве, усмерите webhook на продукцијске consumere, верификујте потписе, ограничите прозор replay, затим један прави intent. Поновљени callback у 02:00 треба да буде no-op, не други дебит. Одвојене тајне; никад их не лепите у ticket.
Црвене заставе
- «Retry до 200» без кључа идемпотентности
- 429 као меко 200
- Продукцијски кључ у тесту оптерећења или URL sandbox webhook у продукцији
- Прозор replay у недељама, или непотписани callback «за пилота»
- Кориснички resend помешан у буџет auto-retry
- Клијентске грешке које изливају сирове upstream кодове
Почетак са IOSOR
Запишите прозор лимита — по кључу, рачуну или класи одредишта — и Retry-After који ћете поштовати. Присилите 429, узмакните, па поновите исту намеру истим Idempotency-Key. Ledger мора показати један дебит. Замените sandbox кључ production-ом пре него дигнете плафон.
Резиме IOSOR
Радите: третирајте 429 као паузу са Retry-After, не као меки успех. Сваки backoff вежите за изворни кључ да prepaid види једну прихваћену намеру.
Не радите: дизати production лимите на кључу теста оптерећења нити млатити до 200 без кључа док новчаник не изгледа као extra потрошња.
Да ли је овај водич био корistan?
Повезани водичи
- Симулирање кашњења и грешака DLR-а у локалном тестирању
Научите како да мокујете асинхроне потврде о испоруци, управљате кашњењем DLR-а и тестирате рубне случајеве локално пре пуштања CPaaS интеграције.
- Усклађивање групног слања података и пропусности појединачних захтева
Оптимизујте стратегије АПИ конкурентности за слање нотификација у великом обиму уз одржавање усклађености са ограничењем стопе на вашој CPaaS конзоли.
- Ограничавање вишекорисничких API кључева за безбедност платформе
Заштитите бели лабел CPaaS подналоге тако што ћете ограничити API токене да бисте изоловали саобраћај корисника, спречили цурење порука између налога и наметнули финансијске границе.