Sobes.tech
Middle+

5. Տրամադրման հուսալիություն: "Ինչպե՞ս լուծվեց idempotency խնդիրը gRPC-ում:" Հարցազրույցի նպատակն է. Տրամադրման — ամենավտանգավոր ոլորտը կրկնօրինակների համար (Double Spending). Հնարավոր հարց: "Տրամադրման խնդրանքը անցավ gRPC-ով, բայց ձախողվեց ժամանակի սահմանափակման պատճառով (DEADLINE_EXCEEDED). Դրամը հանվե՞ց — անհայտ. Ինչ է անում վճարման մոդուլը?" Ինչպես պատասխանել: "Ֆինանսական գործարքային կոնտեքստում, ցանկացած կրկնվող խնդրանք պետք է ունենա Idempotency Key: 1. gRPC հարցման մետադատություններում (metadata=((‘x-idempotency-key’, key_uuid),)) մենք միշտ փոխանցում էինք յուրահատուկ գործարքային բանալի: 2. Երբ ստանում ենք DEADLINE_EXCEEDED, հաճախորդը կարող է անվտանգ կրկնել նույն բանալով: 3. Գնումների ծառայությունը ստուգում էր այդ բանալիի ներկայությունը իր տվյալների բազայում / Redis-ում և կամ վերադարձնում էր արդեն մշակված գործարքի կարգավիճակը կամ առաջին անգամ մշակում էր այն:"