Webservice Orchestration для синхронизации базы данных - PullRequest
1 голос
/ 11 августа 2009

У меня есть два веб-сервиса, каждый из которых имеет свою собственную базу данных, один является ведущим (A), а другой - ведомым (B). Если выполняется вызов в службу B, он также вызывает A для синхронизации базы данных A.

Если по какой-либо причине A недоступен, B необходимо обновить данные A на более поздний срок.

Любое предложение о том, какой механизм можно использовать для синхронизации данных вне процесса?

Ответы [ 2 ]

1 голос
/ 12 августа 2009

Похоже, шаблон команды может быть полезен для вас - сохраните «пропущенные» транзакции и примените их позже. Возможно, вам придется сделать какую-то хитрость, чтобы выяснить, какие из последних нескольких звонков, которые вы сделали А, произошли, а какие - нет.

Если A обновляется из другого источника и вы теряете ссылку (а не A полностью отключается), у вас может быть битва в ваших руках для разрешения любых конфликтов. Я бы порекомендовал временную базу данных , чтобы помочь справиться с этим.

В качестве альтернативы, вы когда-нибудь думали об использовании системы обмена сообщениями, такой как MSMQ?

0 голосов
/ 11 августа 2009

Вы можете настроить репликацию мастер-мастер между двумя базами данных. Мы делаем это с MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...