2009-08-11 2 views
1

私は2つのWebサービスを持っています。各サービスは独自のデータベースを持ち、1つはマスター(A)で、もう1つはスレーブ(B)です。サービスBを呼び出すと、Aを呼び出してAのデータベースを同期させます。データベース同期のWebサービスオーケストレーション

何らかの理由でAが利用できない場合、Bは後でそのデータでAを最新状態にする必要があります。

プロセス外のデータ同期にどのようなメカニズムを使用することができますか?

+0

この問題は、Webサービスとは独立したデータベース同期の問題として考える必要があります。 –

+0

masterデータベースはデータセンターの外部であり、データベースの複製にはアクセスできないため、Webサービス層からの同期が望ましい。 –

答えて

0

2つのデータベース間でマスターマスターレプリケーションを設定できます。これはMySQLで行います。

1

command patternのように聞こえることがあります。「見逃した」トランザクションを保存して後で適用すると便利です。いくつかの細かいことをしなければならないかもしれませんが、最後に起こったいくつかのコールのうちどれが起こったのか、起きなかったのかは分かりません。

Aが別のソースから更新されていて、リンクが失われている場合(Aが完全にダウンするのではなく)、競合を解消するために手をつないでいる可能性があります。私はそれを管理するために何かのTemporal Databaseをお勧めしたいと思います。

また、MSMQなどのメッセージングシステムを使用することを考えましたか?

関連する問題