Introduction
Les workflows durables sont un outil puissant pour construire des programmes fiables. L'idée est de sauvegarder régulièrement l'état d'un programme dans une base de données pour permettre sa reprise en cas de panne. Dans cet article, nous allons explorer comment utiliser Postgres pour créer des workflows durables sans besoin d'un orchestrateur externe.
Contexte Technique
Les workflows durables sont souvent mis en œuvre via une orchestration externe, avec des systèmes comme Temporal, Airflow et AWS Step Functions. Cependant, cette approche peut être trop complexe. En utilisant Postgres, nous pouvons créer des workflows durables sans besoin d'un orchestrateur central, en faisant communiquer directement les serveurs d'application avec la base de données.
Dans un système de workflows durables basé sur Postgres, les serveurs d'application communiquent directement avec Postgres pour exécuter les workflows, sans passer par un orchestrateur central. Les serveurs peuvent coordonner leurs actions via Postgres, en utilisant des mécanismes tels que les verrous pour garantir que chaque workflow est traité par un seul serveur.
Analyse et Implications
L'utilisation de Postgres pour les workflows durables présente plusieurs avantages. Tout d'abord, cela simplifie la mise en œuvre, car les problèmes de scalabilité, de disponibilité, d'observabilité et de sécurité peuvent être traités en utilisant des solutions bien connues et éprouvées pour Postgres.
En outre, Postgres offre une excellente scalabilité et disponibilité, avec des solutions robustes pour le traitement de grandes quantités de données. La mise en œuvre de Postgres peut être facilement surveillée et analysée, grâce à la possibilité d'exprimer des requêtes complexes en SQL.
Perspective
L'utilisation de Postgres pour les workflows durables offre une approche plus simple et plus efficace que les solutions d'orchestration externes. En réutilisant les capacités de Postgres pour gérer les workflows, nous pouvons éviter d'ajouter de nouveaux points de défaillance et de surface d'attaque à nos systèmes.
En conclusion, Postgres est une excellente option pour les workflows durables, offrant une solution simple, efficace et sécurisée pour la mise en œuvre de programmes fiables. Nous encourageons les développeurs à explorer cette approche et à découvrir les avantages de l'utilisation de Postgres pour les workflows durables.