Pojasnite nalogo in odločitev
Ta priročnik spremeni spletne trnke in paketno obdelavo v pregleden operativni potek dela. Povezuje domenske odločitve, lastništvo, dokaze in sprejemanje, tako da rezultat še naprej deluje v proizvodnji.
Izberite sinhrono, webhook ali paketno dostavo med količino, zakasnitvijo, ponovnim poskusom in operativnim lastništvom.
Praktični postopek
- 1
Vrste virov inventarja, identifikatorji, polja, lokalne nastavitve, lastniki in stanja objave.
- 2
Izberite vzorec dostave med glasnostjo, zakasnitvijo, uredniškim nadzorom in toleranco napak.
- 3
Preslikaj izvorni zapis v ločen zapis jezikovne različice s trajno povezavo.
- 4
Dodajte preverjanje pristnosti, idempotenco, ponovni poskus, razveljavitev predpomnilnika, beleženje in nadzor dostopa.
- 5
Preskusna objava, spremembe vira, nerazpoložljivi rezultati, povrnitev nazaj, delovanje tipkovnice in spremljanje pred izdajo.
Primer ali orodje
Diagram življenjskega cikla postane izvedbena pogodba za ponovne poskuse, idempotenco, spremljanje in ponovno predvajanje. V orodju zabeležite tudi izhodišče, lastnika, odločitev, dokaze, odprto vprašanje in datum odobritve. Uporabite pravo stran ali transakcijo, da bo skupina videla odvisnosti, izjeme in vzdrževalna dela, ki sledijo izdaji.
| Točka odločitve | Zapis | Kriterij sprejemljivosti |
|---|---|---|
| Izhodišče | Opaženo trenutno stanje | Vir in datum zapisa |
| Odločitev | Izbrana možnost in utemeljitev | Upoštevano je tveganje in občinstvo |
| Dokazi | Preizkusite, dokumentirajte ali izmerite | Pregledljiv in specifičen za različico |
| Odobritev | Ime, vloga in datum | Izpolnjeni vsi obvezni kriteriji |
Izberite dostavo med zakasnitvijo, obsegom in lastništvom
Uporabite sinhrono dostavo za majhne interaktivne zahteve, ki se običajno zaključijo v časovni omejitvi vmesnika in lahko takoj sporočijo rezultat. Uporabite webhooks, ko je delo asinhrono, vendar mora vsak rezultat vnesti CMS takoj, ko je pripravljen. Uporabite paketno obdelavo za velike načrtovane zbirke, nadzorovane uvoze ali selitve, kjer sta prepustnost in ponovljivost pomembnejša od takojšnje dostave. Vzorci lahko obstajajo sočasno, vendar mora imeti vsak razred vsebine dokumentirano privzeto vrednost.
Ocenite dnevni in najvišji obseg, velikost predmeta, sprejemljiv čas dokončanja, okno za ponovne poskuse, zahteve za naročanje, zmogljivost pregledovalca in operativnega lastnika. Hiter rezultat nima vrednosti, če ga uredniška čakalna vrsta ne more obdelati. Vključite omejitve navzgor in navzdol: izvoz CMS, stopnja API, delavci v čakalni vrsti, končna točka povratnega klica, zapisi v bazo podatkov, razveljavitev predpomnilnika in delovna obremenitev pregleda. Izberite najpreprostejši vzorec, ki ustreza celotnemu cilju storitve.
| Vzorec | Uporabite kdaj | Bistveni nadzor |
|---|---|---|
| Sinhrono | Majhna zahteva in kratka omejena zakasnitev | Časovna omejitev z varnim ponovnim poskusom odjemalca |
| Webhook | Neodvisna delovna mesta bi morala prispeti takoj | Preverjanje podpisa in obravnava idempotentnih dogodkov |
| Serija | Velik nadzorovan sklop in načrtovan zaključek | Manifest, kontrolna točka, sprava in ponovitev |
Implementirajte preverljiv življenjski cikel webhooka
Sprejmite samo HTTPS POST, preverite podpis glede na neobdelano telo, preverite toleranco časovnega žiga in zavrnite nepodprte različice dogodkov. Pred uveljavitvijo poslovnih sprememb shranite ID dogodka pod edinstveno omejitvijo. Vrnite uspeh po trajnem prejemu, nato obdelajte asinhrono. Ponovljen dogodek vrne uspeh brez ponovitve stranskega učinka. Zasukajte skrivnosti podpisovanja z obdobjem prekrivanja in omejite diagnostični izhod, da ne razkrije podpisov ali vsebine.
Stanja modela, kot so prejeto, potrjeno, ujemanje, uporabljeno, prezrto, ponovni poskus in neuspešno. Ujemite rezultat z ID-jem opravila, ID-jem vira, revizijo vira, jezikom in načinom. Če je trenutni vir novejši, shranite rezultat za revizijo, vendar ne odpirajte ali zamenjajte trenutnega osnutka. Dogodke, ki niso v redu, obravnavajte s pravili prehoda stanja in ne z vrstnim redom prihoda. Ohranite orodje za ponovno predvajanje, ki zahteva razlog, identiteto operaterja in obseg.
- 1
Preverite transport, podpis neobdelanega telesa, časovni žig, vrsto dogodka in različico pogodbe.
- 2
Vztrajajte pri edinstvenem dogodku in potrdite trajni prejem.
- 3
Pred spreminjanjem CMS razrešite opravilo in natančno izvorno revizijo.
- 4
Uporabite prehod idempotentnega stanja in ustvarite pregledljiv osnutek.
- 5
Posnemite dokončanje ali usmerite dogodek v nadzorovan ponovni poskus in ponovno predvajanje.
Naj bodo serije ponovljive in združljive
Ustvarite nespremenljiv manifest z ID-jem paketa, časom ustvarjanja, pravilom poizvedbe ali izbire, ID-jem posameznega elementa, izvorno revizijo, jezikom, načinom, prioriteto in kontrolno vsoto. Zamrznite manifest pred oddajo, tako da kasnejša poizvedba CMS ne more spremeniti pomena paketa. Razdelite ga na omejene dele in uporabite stabilne ključe idempotence za vsak element. Zaključek kontrolne točke po trajnem pisanju, tako da lahko delavci nadaljujejo, ne da bi začeli znova.
Na koncu uskladi oddane, sprejete, dokončane, zavrnjene, zastarele, neuspele in namerno preskočene postavke. Število se mora uravnotežiti z izvirnim manifestom in vsak nedokončan element potrebuje razlog in naslednje dejanje. Ponovno predvajanje podnabora ustvari nov manifest ponovitve, povezan z izvirnikom. Ne spreminjajte izvirnih štetij in ne brišite neuspešnih dokazov. Objavite paketne rezultate samo v stanja pregleda, z omejitvami delovne obremenitve, ki ščitijo uredniško skupino.
Manifest popravlja identiteto predmeta, izvorno revizijo, nastavitve in kontrolno vsoto.
Vsaka operacija elementa je idempotentna in jo je mogoče neodvisno znova poskusiti.
Kontrolne točke se po prekinitvi nadaljujejo brez podvajanja osnutkov.
Štetje končnega statusa je natančno usklajeno z manifestom.
Ponovno predvajanje je omejeno, avtorizirano, povezano in revizijsko.
Spremljajte čakalne vrste in vadite okrevanje
Spremljajte stopnjo sprejetosti, stopnjo dokončanja, stopnjo napak glede na kategorijo, globino čakalne vrste, starost najstarejšega elementa, percentile trajanja obdelave, napake pri preverjanju webhooka, število ponovnih poskusov, količino mrtvih pisem, stopnjo zastarelih rezultatov in čas od rezultata do uredniške odobritve. Opozorilo na vpliv uporabnika in naraščajoče zaostanke namesto na posamezne prehodne napake. Nadzorne plošče ločujejo ponudnikovo obdelavo, dostavo povratnega klica, aplikacijo CMS in uredniški čakalni čas.
Runbook identificira lastnike, varno zaustavitev, omejitve skaliranja, rotacijo poverilnic, odobritev ponovnega predvajanja, obravnavanje mrtvih pisem, komunikacijo ponudnika in preverjanje obnovitve. Izguba povratnega klica pri vadbi, ponovljeni dogodek, dogodek brez naročila, izpad ponudnika, izpad CMS, neujemanje sheme, potekla skrivnost in delno dokončanje paketa. Sprejem zahteva obnovitev brez podvojene objave, tihe izgube, ročnega urejanja baze podatkov ali odstranitve zadnje odobrene vsebine.
Vloge, dokazi in odobritev
Generiranje naj bo ločeno od objave. Uspešen odgovor je osnutek, ne odobritev. Shranite izvorni identifikator in različico, nastavitve transformacije, identifikator rezultata, stanje pregleda, odobritelja in čas objave. Ko se vir spremeni, označite jezikovno različico za pregled, namesto da tiho zamenjate odobreno vsebino. To omogoča povrnitev in revizijo na vseh platformah.
Delovanje in vzdrževanje
Delo se ne konča z objavo. Povežite jezikovno različico ali konfiguracijo z njenim izvorom, spremljajte ukrepe kakovosti in storitev ter definirajte konkretne sprožilce pregleda. Sprožilci vključujejo spremembe vira, pravne spremembe, nove potrebe občinstva, ponavljajoča se vprašanja podpore, tehnične spremembe in incidente. Imenovani lastnik oceni sprožilec, po potrebi odpre novo revizijo in zabeleži ponovno odobritev.
Kontrolni seznam za objavo
Integracija uporablja trajne izvorne identifikatorje.
Poverilnice so shranjene na strani strežnika in se izmenjujejo.
Določeni so časovna omejitev, ponovni poskus in omejitev hitrosti.
Ponavljajoče se zahteve so idempotentne.
Ustvarjena vsebina preide v stanje pregleda.
Spremembe vira razveljavijo ali znova odprejo različico.
Jezikovna navigacija deluje s pomočjo tipkovnice in podporne tehnologije.
Spremljanje zajema napake, čakalne vrste, zakasnitev in zastarelo vsebino.