De knop draait, it ljepblêd toant in flater, en it formulier dat jo tsien minuten lang ynfolle hawwe, is fuort. Wat jo net witte, is oft it skriuwen oankaam foardat de ferbining stoar. It behanneljen fan dat ûnbekende as in mislearring is hoe’t dûbele reaksjes, dûbele bestellingen en werhelle stipekaarten ûntsteane.

Herstel yn in fêste folchoarder: hâld de tekst, fyn it resultaat en beslút pas dêrnei oft in twadde yntsjinjen tastien is.

Begjin mei de tekst en de tiidstimpel

Kopiearje de ynhâld fan de side foardat jo wat oars oanreitsje, ynklusyf elk konsept dat de browser noch yn it fjild hâldt. Skriuw de tiid, de side dêr’t jo op wiene en de aksje dy’t jo diene op, want dy trije bysûnderheden meitsje de rest fan it ûndersyk mooglik. As it ljepblêd noch iepen is, lit it iepen oant jo it netwurkynfier lêzen hawwe. De tekst bewarje kostet neat, en it ferliezen kostet de hiele taak.

Skied dan de twa foarmen fan mislearring dy’t jo wier waarnimme kinne. In ferbining dy’t healwei it fersyk briek en in tsjinner dy’t mei in flater antwurde, sjogge der oars út yn it netwurkpaniel, en allinnich it twadde fertelt jo wat oer it beslút fan de app.

Sykje it resultaat yn de eigen werjefte fan de app

Laad de lêswerjefte opnij dy’t it resultaat sjen litte soe: de reaksjelist, de bestellingsskiednis, de kaartewachtrige of it record dat jo bewurken. Ferlykje op akkount, bestimming, tiid en ynhâld ynstee fan op it nijste ynfier, want immen oars kin nei jo skreaun hawwe. Foar in eftergrûntaak, sykje de besteande referinsje en syn status op ynstee fan in nije operaasje as ferbiningstest oan te meitsjen.

As it resultaat der is, binne jo klear en heart de flater by it antwurdpaad, net by it skriuwen. As it der net is, hâld dan de mooglikheid iepen dat de app it noch net fêstlein hat: in taak yn de wachtrige, in fertrage lêswerjefte of in efterbliuwende replika kinne in slagge skriuwing in skoft ferbergje.

Jou it in bepaalde twadde blik foardat jo in konklúzje lûke, en notearje de tiid fan beide kontrôles. Twa kontrôles tweintich sekonden útinoar binne folle swakker bewiis as twa kontrôles tsien minuten útinoar.

Beslút oft in twadde yntsjinjen feilich is

It antwurd hinget fan de operaasje ôf, net fan jo geduld. HTTP skiedt metoaden dy’t werhelle wurde kinne mei itselde bedoelde effekt fan dy’t dat net kinne, en riedt ôf fan automatyske werhellingen fan it twadde soart, útsein as bekend is dat de semantyk it talit. In reaksje meitsje, in bestelling pleatse en in betelling ferstjoere hearre meast ta de twadde groep, dêrom seit in twadde suksesfol lykjende klik neat oer de earste.

As jo de klant ûnderhâlde, brûk it opnij besykjen- of idempotinsjemeganisme dat de API dokumintearret, en ferbyn it oan deselde logyske operaasje ynstee fan foar elk besykjen in nije kaai te meitsjen. In fersykoantsjutting dy’t foar tracing brûkt wurdt is gjin kaai foar it ûnderdrukken fan dûbelingen, útsein as de tsjinner it as sadanich behannelet.

curl -i -X POST https://api.example.net/v1/orders \
  -H "Idempotency-Key: 6f1c2a94-3b7e-4a10-9c22-5d0e8f7b1a63" \
  -H "Content-Type: application/json" \
  --data @order.json

De kaai helpt allinnich as de tsjinst it by de operaasje bewarret en by in werhelling it oarspronklike resultaat weromjout. Test dat gedrach op in staging-einpunt foardat jo der yn produksje op fertrouwe.

Samje bewiis foardat jo wer ea yndrukke

Bewarje it netwurkynfier ynstee fan in skermôfdruk fan de flater. De fersykmetoade, de URL, it antwurd of de time-out en it tiidstip dêr’t it barde, binne wat in behearder mei de records fan de app korrelearje kin. Eksportearje of kopiearje it ynfier as in opdracht allinnich as jo dêrnei de koekjes, autorisaasjekoppen en alle privee-ynhâld út de kopy ferwiderje. Lit jo eigen sesje yntakt en spylje nea in fongen fersyk mei legitimaasjes opnij as in koarte wei.

Freegje de eigner fan de tsjinst ien konkrete fraach: is de operaasje mei dizze ynhâld op dit tiidstip slagge, en is der in referinsje foar? Dy fraach hat in antwurd, wylst "is de side brutsen" dat net hat.

It doel fan de oefening is fêststelle dat de aksje krekt ien kear barde. In flaterberjocht dat jo fuortklikke kinne is net itselde as in record dat jo fertrouwe kinne, en it twadde is wat jo nedich hawwe foardat jo wat oars yntsjinje.

Relatearre artikelen