5. Spolehlivost platby: "Jak bylo vyřešeno problém s idempotencí v gRPC?"
Cíl interviewera: Platby — nejnebezpečnější oblast pro duplicitní transakce (Double Spending).
Možná otázka:
"Žádost o platbu prošla přes gRPC, ale selhala kvůli timeoutu (DEADLINE_EXCEEDED). Byly peníze odečteny — neznámo. Co dělá platební modul?"
Jak odpovědět:
"V kontextu finanční transakce musí každá opakovaná žádost mít Idempotency Key:
1. V metadatech gRPC požadavku (metadata=((‘x-idempotency-key’, key_uuid),)) jsme vždy přenášeli unikátní transakční klíč.
2. Při přijetí DEADLINE_EXCEEDED mohl klient bezpečně zkusit znovu se stejným klíčem.
3. Služba akvizice kontrolovala přítomnost tohoto klíče ve své databázi / Redis a buď vrátila stav již zpracované transakce, nebo ji zpracovala poprvé."