Votre boucle de retry part du principe que la première requête a échoué. Ce n'est probablement pas le cas.
Un timeout ou un crash ne signifie pas que votre requête API a été perdue. Voici comment les clés d'idempotence rendent les retries sûrs, et le pattern de stockage qui empêche réellement les doublons.
Votre service plante au milieu d'une requête . Le client voit un timeout et retry. Vous avez maintenant deux charges. Le client est en colère. La base de…