Resurssit · 54
Webhookit: käsittelevät toistoja, viiveitä ja palautumista
Muunna vastaanotettu ilmoitus ainutlaatuiseksi, jäljitettäväksi liiketoimintavaikutukseksi, joka on palautettavissa virheen jälkeen.
Päivitetty · 2 min
Mitä tämä opas auttaa saavuttamaan
- Ilmoitusten todentaminen
- Kuitin erottaminen käsittelystä
- Kaksoisvaikutusten estäminen
- Estettyjen tapahtumien palauttaminen
Pikatarkistus
- Mitkä tavut on allekirjoitettu?
- Milloin kuitti on kestävä?
- Voiko kaksi työntekijää toimia yhdessä?
- Takaako palveluntarjoaja järjestyksen?
- Miten kadonnut tapahtuma löydetään?
Vaiheittainen menetelmä
- 1
Lue palveluntarjoajan sopimus
Tietuetyypit, versio, tilin konteksti, allekirjoitukset, ajoitus ja uudelleenyrityssäännöt. Stripe toteaa, että toimitusjärjestystä ei taata ja kaksoiskappaleita voi esiintyä; älä käytä Stripe-kohtaista viivettä jokaiseen API:in.
Toimitettava: päivätty palveluntarjoajan sopimus.
- 2
Vahvista ennen vaikutuksia
Tarkista allekirjoitukset palveluntarjoajan vaatiman kirjaston ja raakarunon avulla. Rajoita hyväksyttyjä kokoja ja tyyppejä. Testaa virheellisiä allekirjoituksia ja odottamatonta tilikontekstia valtuutetussa ympäristössä ilman salaisuuksien kirjaamista.
Toimitettava: hylkäykset ilman vaikutuksia.
- 3
Pysy ennen kuittaamista.
Erota pysyvä vastaanotto hitaasta käsittelystä. Jos jono ei voi hyväksyä tapahtumaa, älä ilmoita sitä säilytetyksi. Onnistuminen osoittaa vastaanoton sopimuksesi mukaisesti, ei välttämättä liiketoimintatoiminnon valmistumista.
Toimitettava: vastaanotettu, käsiteltävä, valmis ja estetty -tilat.
- 4
Valvo idempotenssia.
Määrittele tapahtuma-avaimet ja liiketoimintavaikutuksen identiteetti. Testaa samanaikaisia toistoja pelkän peräkkäisen toimituksen sijaan. Alustava tarkistus ilman atomirajoituksia tai lukitusta voi antaa kahden työntekijän luoda saman vaikutuksen.
Toimitettava: todiste vaikutuksen ainutlaatuisuudesta.
- 5
Käsittele viivettä ja epäjärjestystä.
Älä oleta, että vanha ilmoitus kuvaa nykyistä tilaa. Tarkista lähde, kun sopimus sallii, ja käytä validoituja liiketoimintasiirtymiä. Säilytä tapahtumat, joita ei vielä voida tulkita.
Toimitettava: siirtymät ja käänteisen järjestyksen testit.
- 6
Täsmäytys ja uudelleentoisto
Laadi virhejono, joka sisältää omistajan, syyn, yritykset ja sulkemisen. Säilytä kaksoiskappaleiden suojaus uudelleentoiston aikana. Vertaa palveluntarjoajaa ja sovellusta säännöllisesti: onnistunut palautus ei todista, ettei mitään tapahtumaa ole jäänyt huomaamatta.
Toimitettava: palautusmenettely ja ristiriitaraportti.
Uudelleenkäytettävä laskentataulukko
Täytä valtuutetut havaintosi. Nämä kentät ovat työskentelymalli, eivät havaittuja tuloksia.
| Kenttä | Kirjattavat tiedot |
|---|---|
| Tapahtuma | Palveluntarjoaja, tili, tunniste ja versio |
| Kuitti | Vahvistettu allekirjoitus ja kestävä aikaleima |
| Vaikutus | Liiketoiminta-avain, tila ja ainutlaatuisuuden todiste |
| Palautus | Syy, yritys, omistaja ja sulkeminen |
Kuvitteellinen esimerkki
Havainnollistava tilanne
Kuvitteellinen esimerkki: kaksi työntekijää saa saman vahvistusilmoituksen palautuksen aikana.
Päätös ja odotettu näyttö
Yksilöllinen liiketoimintavaikutusrajoitus ja tapahtumatila sallivat yhden täydennyksen, kun molemmat toimitukset pysyvät jäljitettävissä.
Mekanismien erottaminen
| Mekanismi | Tarkoitus | Vahvistus tai rajoitus |
|---|---|---|
| Allekirjoitus | Vahvista alkuperä sopimuksen mukaisesti | Ei tee vaikutuksista yksilöllisiä |
| Deduplikaatio | Tunnista toistuvat ilmoitukset | Tarkista myös samanaikaisuus ja liiketoimintavaikutukset |
| Täsmäytys | Etsi puutteita ja eroja | Nimeä lähde ja ajanjakso |
Johdon indikaattorit
| Indikaattori | Mitä se mittaa | Ensimmäinen toimenpide |
|---|---|---|
| Jonon ikä | Keskeneräisten tapahtumien viivästyminen | Tarkasta vanhimmat |
| Kaksoisvaikutukset | Virheellisesti toistetut liiketoimintatoiminnot | Korjaa atomisuus |
| Lähteen/sovelluksen aukot | Puuttuvat tai poikkeavat tilat | Täsmäytys sulkemistodisteilla |
Yleisiä virheitä
- Jäsennys ennen allekirjoitetun rungon varmennusta
- Kuittaus ennen pysyvää vastaanottoa
- Tilatun toimituksen olettaminen
- Kaksoiskappaleiden testaaminen vain peräkkäin
Usein kysytyt kysymykset
Tarkoittaako HTTP-onnistuminen käsittelyn valmistumista?
Se riippuu sopimuksesta. Asynkronisessa käsittelyssä sen pitäisi tarkoittaa pysyvää vastaanottoa, kun taas liiketoiminnan tilaa seurataan erikseen.
Voidaanko olettaa täsmälleen kerran tapahtuva toimitus?
Toistojen ja virheiden suunnittelu todellisen sopimuksen puitteissa, yksilöllisillä vaikutuksilla ja täsmäytyksellä.
Pitäisikö koko runko säilyttää?
Vain tarvittaessa sopivalla käyttöoikeudella ja säilytyksellä. Minimaalisten jälkien tulisi tukea diagnoosia ja palautusta ilman salaisuuksien säilyttämistä.
Viralliset viitteet
Viitteet tukevat menetelmää. Sovita tarkastukset kontekstiisi; ne eivät ole sertifiointia. Alkuperäiset viitteiden otsikot ja lähdeasiakirjat voivat olla toisella kielellä.
Lähteet tarkistettu .






