Sobes.tech
Middle+

5. Fiabilité du paiement : "Comment le problème d'idempotence a-t-il été résolu dans gRPC ?" Objectif de l'intervieweur : Les paiements — la zone la plus dangereuse pour les doublons (Double Spending). Question possible : "La demande de paiement est passée par gRPC mais a échoué en raison du délai d'expiration (DEADLINE_EXCEEDED). L'argent a-t-il été déduit — inconnu. Que fait le module de paiement ?" Comment répondre : "Dans un contexte transactionnel financier, toute demande répétée doit avoir une clé d'idempotence : 1. Dans les métadonnées de la requête gRPC (metadata=((‘x-idempotency-key’, key_uuid),)) nous avons toujours transmis une clé de transaction unique. 2. Lors de la réception de DEADLINE_EXCEEDED, le client pouvait réessayer en toute sécurité avec la même clé. 3. Le service d'acquisition vérifiait la présence de cette clé dans sa base de données / Redis et renvoyait soit le statut de la transaction déjà traitée, soit la traitait pour la première fois."