Idempotencja zapewnia zamierzony skutek operacji logicznej mimo powtórzenia dostarczenia lub wykonania.

Idempotencja zapewnia zamierzony skutek operacji logicznej mimo powtórzenia dostarczenia lub wykonania. Nie obiecuje, że wiadomość dotrze tylko raz. Traktuj odbiór, trwałe przechowanie, zmianę stanu i dalszą pracę jako odrębne granice awarii.
Wybierz właściwą tożsamość
Identyfikator zdarzenia rozpoznaje ponowne dostarczenie tego zdarzenia. Identyfikator płatności łączy różne zdarzenia z jednym obiektem biznesowym. Klucz idempotencji żądania wychodzącego chroni inną granicę zgodnie z zasadami operatora. Klient i kwota nie zastępują tych kluczy: dwa prawidłowe zakupy mogą być takie same. Określ również dozwolone przejścia stanu.
Zapisz przed potwierdzeniem
Zweryfikuj podpis według dokumentacji operatora i utrwal wiadomość albo umieść ją w trwałej kolejce przed potwierdzeniem przyjęcia. Powiąż zmianę biznesową z dowodem przetworzenia atomowo lub równoważnie. Transakcyjna skrzynka nadawcza może wznowić zewnętrzne zadania po przerwaniu procesu. Ogranicz dostęp i czas przechowywania danych osobowych w wiadomościach.
Przetestuj ponowienie i odzyskanie
Dostarcz zdarzenie kolejno i równocześnie, zatrzymując proces roboczy na każdej trwałej granicy. Sprawdź księgowania, dostęp i wywołania zewnętrzne, nie tylko odpowiedzi. Spóźnione zdarzenie nie może narzucać starego stanu wyłącznie dlatego, że dotarło ostatnie. Monitoruj wiek i status niedokończonej pracy. Kontrolowane odtworzenie musi używać tych samych zabezpieczeń i pozostawiać ślad działania operatora.
Przykład i dowód odbioru
Proces może zapisać zamówienie i zatrzymać się przed oznaczeniem zdarzenia jako zakończonego. Po restarcie otrzymuje tę samą pracę. Najpierw sprawdź trwałą ochronę zamówienia, potem dostarczenie produktu. Drugie wykonanie nie może dać kolejnego dostępu. Jeśli realizacji brakuje, powinna istnieć wznawialna praca. Zapisz wyniki oddzielnie wraz z referencjami. To rozróżnia podwójny skutek od utraconego następnego kroku. Powtórz próbę z drugim procesem podejmującym pracę równocześnie. Gwarancja biznesowa musi pozostać taka sama, także gdy oba procesy potwierdzają odbiór lub jeden ponawia po konflikcie. Dokumentuj również sposób obsługi zdarzenia trwale błędnego, aby zwykłe ponawianie nie blokowało bez końca poprawnych operacji znajdujących się za nim w tej samej kolejce.
- Powiązana usługa
- Uzgadnianie płatności: wyjaśnij każdą rozbieżność
- Ledger fintech: salda, korekty i ścieżka audytu
Najczęstsze pytania
Czy wystarczy lista w pamięci?
Nie. Restarty i wiele procesów wymagają współdzielonego trwałego dowodu.
Czy idempotencja operatora chroni webhook?
Chroni jego żądanie; skutki wewnętrzne potrzebują własnych zabezpieczeń.
Czy przechowywać wszystko bezterminowo?
Nie. Ustal przydatność, potrzeby dochodzenia i okres retencji.
Czy odtworzenie może podwoić zwrot?
Tak, bez ochrony operacji biznesowej; sprawdź to na danych syntetycznych.
Jak wykryć zablokowaną pracę?
Po trwałym statusie, wieku, próbach i niezależnym uzgadnianiu.
Od pomysłu do wykonalnego zakresu
Prześlij ścieżkę użytkownika, integracje i ograniczenia terminu. Możemy przygotować wycenę z założeniami i wyłączeniami.
Warto doczytać
Uzgadnianie płatności: wyjaśnij każdą rozbieżność
Uzgadnianie porównuje zapisy tej samej aktywności ekonomicznej i wyjaśnia różnice.
Ledger fintech: salda, korekty i ścieżka audytu
Ledger zapisuje ruchy finansowe według sprawdzalnych zasad.
Audyt integracji płatności: duplikaty i brakujące wpłaty
Strona potwierdzenia nie dowodzi, że płatność została poprawnie obsłużona od początku do końca.