5. Ödeme güvenilirliği: "gRPC'de idempotency sorunu nasıl çözüldü?"
Mülakatçının amacı: Ödemeler — çift harcama (Double Spending) için en tehlikeli alan.
Olası soru:
"Ödeme talebi gRPC üzerinden gönderildi, ancak zaman aşımı (DEADLINE_EXCEEDED) nedeniyle başarısız oldu. Para çekildi mi — bilinmiyor. Ödeme modülü ne yapıyor?"
Nasıl cevap verilir:
"Finansal işlem bağlamında, herhangi bir tekrar eden talep bir Idempotency Key'e sahip olmalıdır:
1. gRPC isteğinin metadata'sında (metadata=((‘x-idempotency-key’, key_uuid),)) her zaman benzersiz bir işlem anahtarı iletirdik.
2. DEADLINE_EXCEEDED alındığında, istemci güvenle aynı anahtarla tekrar deneyebilir.
3. Edinme servisi, bu anahtarın varlığını kendi veritabanında / Redis'te kontrol eder ve ya zaten işlenmiş işlemin durumunu döner ya da ilk kez işler."