La justesse passe avant la vitesse.
Une vente en trop vous écarte du podium, même avec la meilleure latence.
Vous construisez le back-end d'une billetterie qui tient le jour où tout le monde veut le dernier billet : aucun billet vendu deux fois, aucun paiement débité deux fois, et un service qui se relève après une panne.
Une vente en trop vous écarte du podium, même avec la meilleure latence.
Un stock tenu seulement en mémoire est perdu au redémarrage.
Chemins, champs, codes HTTP et codes d'erreur. Une variante, même meilleure, est comptée comme une erreur.
Le premier arrivé est le premier à obtenir une réservation, dans l'ordre de validation en base. Ni l'arrivée réseau ni le paiement ne comptent.
Langage, framework et base de données : libres. Seule contrainte, tout tient dans 2 vCPU et 4 Go de RAM au total. Les paiements passent par KrakenPay, le faux prestataire fourni en image Docker. Vous ne le modifiez pas.
$ docker compose up --build api listening on :8080 krakenpay listening on :4010 $ curl localhost:8080/health {"status":"ok"}