IOSOR Tieto

API-häiriöviikko: puuttuva idempotenssi on jäädytys, ei uusi yritysmyrsky

Selviydy ensimmäisestä suuresta API-häiriöstä white-label-ennakkomaksu-CPaaS:ssa ilman toistuvia silmukoita tai kirjanpitovirheitä.

Puuttuva idempotenssiavain muuttaa verkkoviiveen nopeasti taloudelliseksi riskiksi. Automaattiset järjestelmät saattavat lähettää samat SMS- ja DLR-pyynnöt uudelleen, mikä tyhjentää prepaid-tilit USD-tuplaveloituksilla. IOSOR-yhdyskäytävän on lukittava transaktiot atomisesti ja poistettava duplikaatit viipymättä.

Keskiyön hälytys ja linjan hiljaisuus

Koontinäyttösi näyttää DLR-toimituksen pysähtyneen, kun saapuva SMS-liikenne piikittää. Alavirran verkkokatko katkaisi TCP-paketit kesken pyynnön, ja asiakkaan mikropalvelu oletti virheen. Ilman asianmukaisia suojatoimia automatisoidut asiakkaat alkavat pommittaa yhdyskäytävää identtisillä hyötykuormilla.

Miksi uudet yritykset ilman suojakaiteita tyhjentävät ennakkosaldoja

Kun asiakkaan aikakatkaisu tapahtuu, naiivi sovelluslogiikka lähettää HTTP-pyynnön välittömästi uudelleen. Jos reitityskerros käsittelee nämä kaksoiskappaleet itsenäisesti, jokainen API-osuma käynnistää uuden JIT-numeron varauksen tai uuden SMS-lähetyksen. Tämä rikkoo USD 20 -ennakkomaksuvähimmäislogiikkaa laskemalla saldot alle nollan ennen kuin riskikoneisto ehtii väliin. Et voi luottaa toivoon tai asiakaspuolen lupauksiin. Tutustu oppaaseemme aiheesta idempotenssi, uudelleenyritys ja raha ymmärtääksesi, kuinka tapahtumalukot estävät lompakon tyhjenemisen uudelleenkytkentöjen aikana.

Vian eristäminen ja silmukan pysäyttäminen

Välitön operatiivinen prioriteettisi on saapuvan liikenteen pysäyttäminen ennen koodin korjaamista. Ota käyttöön hätätilan nopeusrajoitussääntö API-yhdyskäytävän reunalla hylätäksesi identtiset hyötykuormat, jotka saapuvat kapean aikaikkunan sisällä. Älä yritä käsitellä tapahtumia, kun kirjanpidon tila on riitautettu. Jos alustasi lähestyy USD 1 000 kuukaudessa -pehmeää tarkistusrajaa kiistanalaisessa liikennemäärässä, ylävirran operaattorit merkitsevät kauppiastunnuksesi epäilyttävän epävakauden vuoksi. Jäädytä kyseinen asiakaspäätepiste välittömästi hallintakonsolisi kautta.

Tapahtuman tilan ja kirjanpidon yhdenmukaisuuden tarkistaminen

Kun myrsky laantuu, sinun on tarkastettava jokainen häiriöikkunan aikana tehty saldomuutos. Vertaa sisäisiä kirjanpitolokejasi operaattorin HB-signaaleihin tunnistaaksesi orvot pyynnöt, joissa SMS lähetettiin, mutta DLR-toimitus epäonnistui. Kehittäjät tekevät usein virheen API:n toinen kuukausi: Idempotenssivelan hallinta ensimmäisen jakson jälkeen olettamalla, että yksisäikeiset tietokantatarkistukset riittävät. Ne eivät riitä. Hajautetut mikropalvelut vaativat eksplisiittistä hash-pohjaista pyyntölukitusta, jotta identtiset API-allekirjoitukset suoritetaan vain kerran.

Webhook-toimituksen suojaaminen kaikutoistoja vastaan

Saapuvien webhookien käsittely on yhtä kriittistä kuin lähtevien API-kutsujen hallinta häiriön aikana. Asiakkaat, jotka käsittelevät asynkronisia DLR-päivityksiä, voivat joutua äärettömiin silmukoihin, jos et tarkista webhook-allekirjoitus ja toistoikkuna -asetuksia. Tiukka allekirjoitusten validointi estää asiakasjärjestelmiä käsittelemästä samaa tapahtumaa useita kertoja, mikä säästää kirjanpidon virheiltä.

Aloita IOSOR:lla kestävää tapahtumanhallintaa varten

Häiriöviikolla jäädytä ensin uusi lähtevä. Lisää Idempotency-Key jokaiseen ilmassa olevaan lähetykseen, vie kaksoisdebit-rivit ja pysäytä hiljaiset asiakkaan uudelleenyritykset. Älä avaa uudelleenyritysmyrskyä kuroaksesi.

IOSOR-yhteenveto

Tee: kohtele puuttuvia avaimia jäädytyksenä, täytä sitten ja täsmäytä ledger.

Älä: sulje häiriötä kun kaksois-DLR vielä lyö toisen veloituksen. Tiketin tila ei ole rahan tila.

Oliko tästä oppaasta apua?

Aiheeseen liittyvät oppaat