Co to jest idempotencja?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Idempotencja oznacza, że ponowienie tej samej operacji nie powoduje kolejnego, dodatkowego skutku. Na przykład ponowne ustawienie statusu na „zakończone” może niczego już nie zmienić. Z kolei ponowne „dodaj 10” bez dodatkowej ochrony zwiększy wartość drugi raz.
Przy API płatności lub kolejce zwykle używa się identyfikatora jednej intencji. Jeśli wraca to samo żądanie z tym samym identyfikatorem, system rozpoznaje powtórzenie i nie tworzy drugiej płatności. Nie chodzi o blokowanie dwóch różnych zakupów tej samej osoby. Kluczowe jest więc ustalenie, co naprawdę oznacza „ta sama operacja” i jak długo przechowujemy tę informację.
Dlaczego to ważne: Jeden z najważniejszych tematów dla systemu wykonującego akcje.
Możliwe dopytania: Dlaczego losowanie nowego ID przy każdym ponowieniu niszczy ochronę przed duplikatem?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- REST: GET, POST, PUT, PATCH i idempotencja — Web — podstawy
Przećwicz w kodzie
- Rozsądne ponawianie żądania — uruchamia testy w przeglądarce
- Znajdź błędy odbiorcy kolejki — samodzielna ocena z listą kontrolną
Dalsza lektura
- AWS: Using Lambda with Amazon SQS(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Polling, batch, duplikaty i partial batch response.