Sobes.tech
Middle+

5. Maksājumu uzticamība: "Kā tika atrisināts idempotences jautājums gRPC?" Intervijas mērķis: Maksājumi — visbīstamākā joma dublēšanai (Double Spending). Iespējamais jautājums: "Maksājuma pieprasījums tika nosūtīts caur gRPC, bet neizdevās laika ierobežojuma dēļ (DEADLINE_EXCEEDED). Vai nauda tika atskaitīta — nav zināms. Ko dara maksājuma modulis?" Kā atbildēt: "Finanšu transakciju kontekstā, jebkuram atkārtotam pieprasījumam jābūt ar Idempotency Key: 1. gRPC pieprasījuma metadatos (metadata=((‘x-idempotency-key’, key_uuid),)) mēs vienmēr pārraidījām unikālu transakcijas atslēgu. 2. Saņemot DEADLINE_EXCEEDED, klients droši var atkārtot ar to pašu atslēgu. 3. Pirkšanas pakalpojums pārbaudīja šīs atslēgas esamību savā datu bāzē / Redis un vai nu atgrieza jau apstrādātas transakcijas statusu, vai pirmo reizi to apstrādāja."