Wpis z mikrobloga

Mircy od #programowanie tak sie teraz zastanawiam czy daloby sie puscic 2 requesty z różnych urządzeń do api w idealnie równym czasie tak żeby powstal jakiś bug?

Na przyklad wypłata z bankomatu w dwoch roznych miejscach i pobranie tylko kwoty za jedna transakcje (wiem ze banki sa zabezpieczone, to tylko taki przyklad latwy do zobrazowania)
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@oblesny_wujek wątpię, bo przecież dwa requesty idą więc dwa razy ma pobrać, data nie ma znaczenia bo żądanie to żądanie. Zostaje jeszcze kwestia tego jak aplikacja sobie radzi z przyjmowaniem takich requestow i czy nie wywala błędem bo nie potrafi sobie poradzić z dwoma identycznymi requestami.
  • Odpowiedz
@oblesny_wujek: w sumie ciekawe jaki jest stopień równoległości przetwarzania transakcji w banku, nie zdziwiłbym się gdyby dla bezpieczeństwa gdzieś tam w "core" były one przetwarzane sekwencyjnie.
  • Odpowiedz
@nunczako operacje transakcji są paroetapowe, zazwyczaj rozpoczęcie transakcji , wykonanie operacji, zamknięcie transakcji, gdzie w przypadku błędu cała transakcja jest rollbackowana. takim błędem może być np weryfikacja danych po operacji przy zamykaniu transakcji. jeśli ustalony warunek zamknięcia transakcji nie zostanie spełniony to nic się nie wydarzy i transakcja zostanie cofnięta
  • Odpowiedz