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