5. Төлөөнүн ишенимдүүлүгү: "gRPCде идемпотенттиктин маселеси кандай чечилди?"
Интервьюердин максаты: Төлөмдөр — дублдер үчүн эң коркунучтуу аймак (Double Spending).
Мүмкүн суроо:
"Төлөм өтүнүчү gRPC аркылуу өттү, бирок убакыттын өтүшү (DEADLINE_EXCEEDED) себептүү ишке ашкан жок. Акча алындыбы — белгисиз. Төлөм модулу эмне кылат?"
Кандай жооп берүү керек:
"Каржылык транзакциялык контекстте, ар бир кайталанган өтүнүчтүн Idempotency Key болушу керек:
1. gRPC сурау метадаталарында (metadata=((‘x-idempotency-key’, key_uuid),)) биз дайыма уникалдуу транзакция ачкычын өткөрдүк.
2. DEADLINE_EXCEEDED алынса, кардар ошол эле ачкыч менен коопсуз кайра аракет кыла алат.
3. Алып баруу кызматы, бул ачкычтын өзүнүн базасында / Redisте бар-жогун текшерип, ал эми иштетилген транзакциянын абалын кайтарат же биринчи жолу иштетет."