J'ai un processus en plusieurs étapes où chaque étape effectue des E/S réseau (appel de service Web), puis persiste certaines données. Je veux le concevoir de manière tolérante aux pannes de sorte que si le service échoue, soit en raison d'un plantage du système, soit parce que l'une des étapes échoue, je suis capable de récupérer et de redémarrer depuis la dernière étape sans erreur.modèles de conception pour les services transactionnels avec points de reprise et récupération
Voici comment je pense aborder ce (ce qui est assez haut niveau):
- Stocké l'état de chaque étape (NOT_STARTED, IN_PROGRESS, ECHEC) dans une table de base de données
- Si une étape échoue marquer et son pas dépendante comme « ECHEC » et passer à l'étape suivante non dépendante
- récupérée par la lecture de ce tableau (par exemple dans une partie d'amorçage de l'application)
Je suis wonderin g s'il existe des modèles de conception, des cadres et des algorithmes qui traitent ce problème.
Avez-vous l'impression que l'une des réponses ci-dessous répond précisément à votre question? Si ce n'est pas le cas, essayez de clarifier votre question afin qu'une réponse plus précise puisse être donnée. –
@Ari, je regardais plus dans le sens des algorithmes, des frameworks ou des modèles de design (au-delà des choses OO de base) qui traitent ce problème –