2009-08-11 8 views
1

J'ai deux webservices, chaque service a sa propre base de données, l'un est maître (A) et l'autre est esclave (B). Si un appel est effectué au service B, il appelle également A pour synchroniser la base de données A.Webservice Orchestration pour la synchronisation de base de données

Si, pour une raison quelconque, A n'est pas disponible, B doit mettre A à jour avec ses données à un moment ultérieur.

Toute suggestion sur quel mécanisme peut être utilisé pour la synchronisation de données hors processus?

+0

Vous devez considérer ce problème comme un problème de synchronisation de base de données indépendant des services Web. –

+0

Sync est souhaitable à partir de la couche de service Web car la base de données master est externe à notre centre de données et n'est pas accessible pour la réplication de base de données. –

Répondre

0

Vous pouvez configurer une réplication maître-maître entre deux bases de données. Nous faisons cela avec MySQL.

1

Il semble que le command pattern pourrait vous être utile - stocker les transactions "manquées" et les appliquer plus tard. Vous devrez peut-être faire des trucs pour déterminer quels sont les derniers appels que vous avez faits à A et lesquels n'ont pas eu lieu. Si A est mis à jour à partir d'une autre source et que vous perdez le lien (au lieu que A descende complètement), vous pouvez avoir un combat à faire pour résoudre les conflits. Je recommanderais un Temporal Database de quelque sorte pour aider à gérer cela.

Vous avez également envisagé d'utiliser un système de messagerie tel que MSMQ?

Questions connexes