Aonad 8 / 11

Teorainneacha Luais agus Bainistíocht Earráidí Athléimneach

Gnóthachain:

  • Is féidir leis teorainneacha luais (RPM/ITPM/OTPM) agus 429 earráid a léirmhíniú
  • Cuireann sé cúlú easpónantúil i bhfeidhm agus triail eile a bhaint as agus atriail ina dhiaidh
  • Déanann sé cóid earráide coitianta HTTP a rangú agus a láimhseáil i gceart (400/401/429/500/529)

I dtimpeallacht táirgthe, ní fhreagraíonn aon API go foirfe an t-am ar fad. Uaireanta cuireann tú iarratais ró-thapa agus buaileann tú an teorainn; uaireanta bíonn an freastalaí gnóthach go sealadach; Uaireanta bíonn d’iarratas mícheart ón tús. Is é an rud a dhéanann idirdhealú idir comhtháthú soladach agus iarracht amaitéarach ná go láimhseálann sé na cásanna seo go réamh-mheasta agus go huathoibríoch. San aonad seo foghlaimeoidh tú faoi theorainneacha rátaí (RPM/ITPM/OTPM), earráid 429, atriail le cúlú easpónantúil, agus rangú cuí ar chóid earráide HTTP coitianta. An sprioc: sreabhadh a thógáil atá chomh láidir sin nach dtabharfaidh úsáideoir faoi deara choíche é.

Cad iad Luasteorainneacha?

Cuireann an soláthraí teorainn leis an méid oibre is féidir le lasc a dhéanamh i dtréimhse áirithe ama. An chosaint seo; Cosnaíonn sé an bonneagar agus tú féin ó phléascanna tobanna costais. Tá trí chineál teorainneacha coitianta ann:

  • RPM (Iarratais sa Nóiméad): Líon na n-iarratas in aghaidh an nóiméid.
  • ITPM (Comharthaí Ionchuir In aghaidh an Nóiméid): Comhartha ionchuir is féidir a phróiseáil in aghaidh an nóiméid.
  • OTPM (Comharthaí Aschuir sa Nóiméad): Comhartha aschuir is féidir a tháirgeadh in aghaidh an nóiméid.

Má sháraíonn tú aon cheann de na teorainneacha seo, diúltaíonn an soláthraí don iarratas agus seolann sé cód earráide 429 ar ais. De ghnáth athraíonn teorainneacha ag brath ar leibhéal do chuntais (sraith) agus féadfar iad a mhéadú le himeacht ama.

Leid: Is féidir leat féachaint agus tú ag druidim leis an teorainn ó na ceanntásca freagartha. Tuairiscíonn an chuid is mó de na soláthraithe do chuóta atá fágtha le ceanntásca cosúil le x-ratelimit-remaining-*. Is é monatóireacht a dhéanamh ar na luachanna seo agus an trácht os do chomhair a bhrú ar an mbealach is aibí chun an fhadhb a chosc gan 429 a fháil.

429 agus Aisghabháil Easpónantúil

Is earráid shealadach agus intriail í 429 (teorainn an ráta). Is é an freagra ceart ná fanacht leis an iarratas ar feadh tamaill agus bain triail eile as. Ach ní leor fanacht leanúnach; Má dhéanann gach duine iarracht arís ag an am céanna, sroichfear an teorainn arís. Is réiteach easpónantúil é an t-am feithimh a mhéadú go heaspónantúil le gach iarracht ar theip uirthi.

# Triail loighce cúlaithe easpónantúil 1 → 429 → fan triail 1 soicind 2 → 429 → fan triail 2 soicind 3 → 429 → fan 4 soicind triail 4 → 429 → fan 8 sec (+ Giodam beag randamach)... éirí as agus tuairisc a thabhairt ina dhiaidh sin ar a mhéad N trialacha

Má chuirtear beagán randamacht (giodaí) leis seo cuirtear cosc ​​ar iarrataí a chéile agus iad ag iarraidh triail eile a bhaint astu ag an am céanna. Ina theannta sin, is minic a bhíonn ceanntásc `aistriail i ndiaidh` ag freagairt 429: "bain triail eile as sna soicindí iomadúla seo". Tá sé níos cruinne meas a bheith agat ar an teideal seo ná fanacht go dall.

Rabhadh: Nuair a fhaigheann tú 429, "má chuirtear iallach air trí níos mó iarratas a sheoladh" déanfar an scéal níos measa; Tá an teorainn fós le líonadh agus ní théann aon iarratas ar aghaidh. Is é an freagra ceart ná cúlú, ní luasghéarú. Dea-scéala: déanann an chuid is mó de na SDKanna oifigiúla 429 a atriail go huathoibríoch agus earráidí freastalaí le cúl-aschur - bain úsáid as iompraíocht seo an SDK roimh é a shuiteáil de láimh.

Cóid Earráide HTTP a Aicmiú

Níl gach botún mar an gcéanna. Idirdhealú ríthábhachtach: an féidir é a atriail nó an ceist iarratais/aitheantais é?

Cód

Brí

An féidir é a thriail arís?

freagra ceart

400

Iarratas neamhbhailí (earráid fhormáide/paraiméadar)

níl

Ceartaigh an t-iarratas; ná seol mar an gcéanna arís

401

Earráid fhíordheimhnithe (eochair neamhbhailí/ar iarraidh)

níl

Deisigh eochair/teideal

403

Gan údarú (gan rochtain ar mhúnla/gné)

níl

Seiceáil ceadanna/scóip

404

Gan Aimsiú (aitheantas samhla mícheart/ críochphointe)

níl

ID/seoladh ceart na samhla

429

Sáraíodh an teorainn luais

Retreat + retry-tar éis

500

Earráid freastalaí

Bain triail eile as le cúlú

529

Freastalaí ró-ualach

Bain triail eile as le cúlú

Riail órga: is sealadach iad 429, 500 agus 529; Déantar é a thriail arís le tarraingt siar. Is saincheisteanna iarratais/aitheantais iad 400, 401, 403, 404; Ní dhéanfaidh iarracht é a réiteach, agus cuireann sé amú iarracht. Caithfidh do chód idirdhealú a dhéanamh idir an dá ghrúpa seo.

Céim ar Chéim: Glao Buan

  1. Cuir isteach an t-iarratas. Má éiríonn leis, lean ar aghaidh.
  2. Rangaigh an cód earráide. An féidir é a thriail arís?
  3. Más féidir é a thriail: déan triail arís ina dhiaidh sin, cuir cúl-aschur easpónantúil + giodam i bhfeidhm, bain triail as líon teoranta uaireanta (m.sh. 5 ar a mhéad).
  4. Mura ndéantar iarracht é: Deisigh (formáid/eochair) agus stop; Ná déan an t-iarratas earráideach céanna arís sa lúb.
  5. Smaoinigh ar thabhairt suas. Mura n-éiríonn leat fós tar éis n iarracht, taispeáin teachtaireacht dea-bhéasach don úsáideoir agus logáil an t-imeacht (aonad rianaithe 11).

# Glao láidir pseudo-codedene = 0repeat: response = request_at() má tá response.success: cuir an freagra ar ais má tá response.code i [429, 500, 529] agus bain triail as < 5: fan = retry_after ?? (2 ^ bain triail as soic + Giodam) codladh (fan); iarracht += 1; git arís má tá response.code i [400, 401, 403, 404]: save_error(freagra); fill "ní mór an t-iarratas a shocrú" fill "earráid bhuan, bain triail eile as"

# Aiseolas dea-bhéasach don úsáideoir (nuair atá atriail ídithe) "Tá mé gnóthach faoi láthair, ní raibh mé in ann d'iarratas a phróiseáil. Bain triail eile as go luath, nó tá d'iarratas sábháilte agam, rachaidh mé ar ais chugat nuair a bheidh sé réidh."

Leid lag / Leid láidir (anseo: dearadh teachtaireachta earráide)

# WEAK (taispeánann sé earráid amh don úsáideoir)"Earráid 429: rate_limit_error"

msgstr "Bhí plódú sealadach sa chóras. Fuaireamar d'iarratas go sábháilte agus tá sé á thriail arís go huathoibríoch. Mura dtaispeántar toradh laistigh de chúpla soicind, is féidir leat an leathanach a athnuachan."

Má nochtar an t-amhearráid theicniúil don úsáideoir deiridh, baintear an bonn den iontaoibh agus féadfaidh sé a bheith ina leochaileacht slándála. Earráidí a chatagóiriú go hinmheánach agus tabhair teachtaireacht shocair, dírithe ar ghníomh don úsáideoir; scríobh na sonraí teicniúla don taifead.

Trí Chás Mini

Cás 1 - Bhuail bád i bpléasc tráchta. Fuair ​​bot seirbhíse do chustaiméirí 429 sa trácht borradh ar lá an fheachtais; Ní dhearnadh aon triail eile sa chód, léiríodh gach earráid go díreach don úsáideoir mar "earráid". Chuir siad leis an seachrán easpónantúil + atriail-tar éis; leis an trácht céanna, ritheadh ​​iarratais le moill roinnt soicind, ní fhaca an t-úsáideoir aon earráidí.

Cás 2 - Ag iarraidh 400 sa lúb. Bhí comhtháthú ag fáil 404 mar gheall ar ID samhail neamhbhailí, ach bhí sé ag déileáil le gach earráid mar "neamhbhuan" agus ag iarraidh arís i lúb gan teorainn; Tháinig an loga ata agus cruthaíodh ualach gan ghá. Chuir siad leis an aicmiú earráide: meastar go bhfuil 404 buan, stoptar an lúb agus ceartaítear ID an mhúnla. Ceacht: ná bain triail eile as gach botún.

Cás 3 - An teorainn ón taobh tosaigh a bhainistiú. Bhí post saibhrithe sonraí ar siúl i gcónaí ag an teorainn 429. Lean siad an ceanntásc x-ratelimit-fuílleach agus throttled an trácht de réir an chuóta. Mar sin choinnigh siad ar luas seasta díreach faoi bhun na teorann, gan aon 429s a ghlacadh; Rinneadh an post ar bhealach níos intuartha agus níos tapúla.

Botúin choitianta

  • Luas a mhéadú i 429: Déanann sé an scéal níos measa; Téigh go cúlú.
  • Gach earráid a thriail arís: tá 400/401/404 buan; Is cur amú é triail a bhaint as arís.
  • Ag baint úsáide as fanacht seasta: Cruthaíonn sé imbhualadh; Úsáid easpónantúil + Giodam.
  • Neamhaird a thabhairt ar ‘aistriail ina dhiaidh’: Is cruinne cloí leis an am atá sonraithe ag an soláthraí.
  • An earráid amh a nochtadh don úsáideoir: shakes trust, cruthaítear leochaileachtaí; Rangaigh taobh istigh.
  • Iarrachtaí gan teorainn: Socraigh uasteorainn (m.sh. 5 atriail); ansin a thabhairt suas gracefully.

Níos doimhne: Ciúáil, Comhairgeadra, agus Scoradáin Chuarda

Is é an seasmhacht dúil amháin an chéad chéim; Is é an fíor-aibíocht ná líon mór iarratas a bhainistiú gan na teorainneacha a bhualadh. Tagann trí choincheap i bhfeidhm anseo.

scuaine: Cuireann tú iarratais i scuaine chun iad a sheoladh ar luas rialaithe seachas láithreach. Maolaíonn scuaine pléascanna tobanna tráchta: Fiú má thagann 1,000 iarratas láithreach, scaoilfidh an scuaine iad ag ráta faoi bhun na teorann. Ar an mbealach seo cuireann tú cosc ​​ar 429, mar sin ní gá duit a bheith buartha faoi é a shocrú.

Teorainn Concurrency: Teorainn tú cé mhéad iarratas atá "san aer" ag an am céanna. Líonann iarratais chomhthreomhara neamhtheoranta teorainneacha RPM agus TPM go tapa. Coimeádann uasteorainn réasúnta comhairgeadra (m.sh. gan níos mó ná 10 n-iarratas chomhthráthacha) teorainneacha agus déantar an córas a thuar.

Scoradán ciorcaid: Má leanann an soláthraí ag filleadh 500/529 ar ais, in ionad gach iarratas a thriail go doggedly, déanann tú "an ciorcad" a bhriseadh ar feadh tamaill agus teipeann ort go tapa ar an iarratas gan é a sheoladh riamh. Tar éis fanacht, cas tú an ciorcad ar ais ar agus iarracht a dhéanamh. Cuireann an patrún seo cosc ​​ar do chóras tuairteála i gcás teipe soláthraí sealadach.

Le chéile, bunaíonn na trí cinn seo athléimneacht ar leibhéal an chórais thar an loighic atriail d’aon ghlao amháin. Ar scála beag, is leor athiarracht uathoibríoch an SDK; De réir mar a thagann méadú ar scála, éiríonn scuaine, comhairgeadra agus scoradán ciorcaid fíor-riachtanach. Tá an sprioc chéanna acu go léir: fadhb shealadach a léiriú don úsáideoir ní mar thimpiste, ach mar mhoill dofheicthe cúpla soicind.

Go hachomair

Filleann 429 nuair a sháraítear teorainneacha luais (RPM/ITPM/OTPM); Earráid shealadach í seo agus bainfear úsáid aisti trí úsáid a bhaint as aistriail i ndiaidh agus cúl-ghiodam easpónantúil. 500 agus 529 sealadach freisin; Is ceist iarratais/aitheantais é 400/401/403/404 agus ní féidir é a réiteach trí thriail eile a dhéanamh. Scarann ​​sreabhadh láidir earráidí sa dá ghrúpa seo, déanann sé iarracht líon teoranta uaireanta, déanann sé monatóireacht ar an teorainn ón taobh tosaigh agus taispeánann sé teachtaireachtaí socair don úsáideoir.

Tasc feidhmchláir

Smaoinigh ar do chomhtháthú. (1) Déan liosta de na cóid earráide a d'fhéadfadh teacht ort agus scar iad ina "in-triail / buan". (2) Scríobh síos do phlean aistarraingthe easpónantúil (sealbhú tosaigh, comhéifeacht, caipín, giodam). (3) Sonraigh conas an ceanntásc athiarracht a úsáid. (4) Scríobh an teachtaireacht dea-bhéasach a thaispeánfar don úsáideoir nuair a bhíonn atriail ídithe.

seicliosta

  • [ ] Is féidir liom teorainneacha RPM/ITPM/OTPM agus 429 a mhíniú.
  • [ ] Is féidir liom an loighic cúlú easpónantúil + Giodam + atriail ina dhiaidh sin a chur i bhfeidhm.
  • [ ] Is féidir liom cóid earráide a rangú mar ath-triail/buan.
  • [ ] Tá a fhios agam nár cheart dúinn gach botún a thriail.
  • [ ] In ionad earráid amh, is féidir liom teachtaireacht shocair, ghníomhaíocht-dhírithe a thaispeáint don úsáideoir.