Sobes.tech
Middle+

5. Maksete usaldusväärsus: "Kuidas lahendati idempotentsuse probleem gRPC-s?" Intervjueerija eesmärk: Maksmised — kõige ohtlikum valdkond duplikaatide jaoks (Double Spending). Võimalik küsimus: "Maksetaotlus läks läbi gRPC, kuid ebaõnnestus ajapiirangu tõttu (DEADLINE_EXCEEDED). Kas raha võeti maha — teadmata. Mida teeb maksemodul?" Kuidas vastata: "Finantstehingu kontekstis peab iga korduv taotlus omama Idempotency Key: 1. gRPC taotluse metaandmetes (metadata=((‘x-idempotency-key’, key_uuid),)) edastasime alati unikaalse tehingu võtme. 2. Kui saadakse DEADLINE_EXCEEDED, saab klient turvaliselt uuesti proovida sama võtmega. 3. Ostu teenus kontrollis selle võtme olemasolu oma andmebaasis / Redis-is ja kas või tagastas juba töödeldud tehingu staatuse või töötles selle esmakordselt."