Moteurs d'exécution durable : des transactions distribuées à Temporal

2025-05-23

Cet article explore l'évolution des moteurs d'exécution durable (comme Temporal), en commençant par les transactions de base de données initiales, les transactions distribuées et les architectures RPC/microservices tolérantes aux pannes. L'auteur analyse l'exemple « Six Little Lines of Fail » de Jimmy Bogard, soulignant les défis liés à la gestion des appels de fonctions entre services, tels que la restauration des transactions et les mécanismes de nouvelle tentative. L'article passe en revue les limites des transactions distribuées (comme le commit à deux phases), et explore les tentatives dans le monde Java avec JSR-95 (Activity Service) et les standards de services Web (comme WS-AtomicTransaction), en notant finalement leur adoption limitée. L'auteur analyse également l'essor récent des architectures de microservices et les mécanismes correspondants de tolérance aux pannes, ainsi que le sourcing d'événements, l'orchestration et la chorégraphie. Enfin, l'article compare les moteurs d'exécution durable modernes, tels que Temporal, Restate et DBOS, y compris leurs modes de fonctionnement, leurs méthodes de stockage des données et leur intégration avec les architectures serverless, soulignant leur importance dans la résolution des problèmes de fiabilité des systèmes distribués.

Lire plus
Développement