Sobes.tech
Middle+

5. Αξιοπιστία πληρωμών: "Πώς λύθηκε το ζήτημα της ιδιομορφίας στο gRPC;" Στόχος του συνεντευκτή: Οι πληρωμές — η πιο επικίνδυνη περιοχή για διπλότυπα (Double Spending). Πιθανή ερώτηση: "Το αίτημα πληρωμής πέρασε μέσω gRPC αλλά απέτυχε λόγω χρονικού ορίου (DEADLINE_EXCEEDED). Τα χρήματα αφαιρέθηκαν — άγνωστο. Τι κάνει το module πληρωμών;" Πώς να απαντήσετε: "Σε ένα χρηματοοικονομικό πλαίσιο, κάθε επαναλαμβανόμενο αίτημα πρέπει να έχει ένα Κλειδί Ιδιομορφίας: 1. Στα μεταδεδομένα του αιτήματος gRPC (metadata=((‘x-idempotency-key’, key_uuid),)) πάντα μεταδίδαμε ένα μοναδικό κλειδί συναλλαγής. 2. Όταν λαμβάνεται DEADLINE_EXCEEDED, ο πελάτης μπορεί με ασφάλεια να επαναλάβει με το ίδιο κλειδί. 3. Η υπηρεσία απόκτησης ελέγχει την παρουσία αυτού του κλειδιού στη βάση δεδομένων / Redis και είτε επιστρέφει την κατάσταση της ήδη επεξεργασμένης συναλλαγής είτε την επεξεργάζεται για πρώτη φορά."