Analiza decyzji · Middle · Pytanie 6 z 14
Żądanie płatności przekroczyło limit czasu, więc nie wiadomo, czy obciążenie przeszło. Podwójne obciążenie jest niedopuszczalne, ale sprzedaży nie wolno stracić. Co budujesz?
- 1Bezpieczne ponowienia z jednym kluczem idempotentności
- 2Bez ponowień: pokazać błąd i poprosić o powtórzenie
- 3Najpierw sprawdzić listę obciążeń, a przy braku ponowić
Pokaż odpowiedź
Poprawna odpowiedź: Bezpieczne ponowienia z jednym kluczem idempotentności
Wyjaśnienie
Z kluczem dostawca traktuje ponowienie jako tę samą operację, więc nie obciąży dwa razy, nawet jeśli pierwsze wywołanie się udało. Pokazanie błędu pasuje do akcji tanich do powtórzenia, ale tu użytkownik może zapłacić dwa razy, klikając znowu. Wcześniejsze sprawdzenie pasuje do dostawców bez kluczy, lecz zostawia wyścig: pierwsze obciążenie może jeszcze trwać podczas sprawdzania.