0

mysqlバックエンドでphpアプリを実行しているサイトがいくつかあります。インターネット接続時間が100%でない可能性があるため、これらはすべて別々のサーバーで実行されています。

現在、すべてのレコードの変更された日時を保存しています。また、レコードを削除済みとしてマークするフラグもあります。同期のため、削除を同期できるように、削除されたすべてのレコードを追跡する必要があります。

その後、すべてのサイトが同期したタイミングを追跡します。

問題は、すべてのサイトが挿入と更新を行うことです。したがって、サイトがしばらく切断された場合。他のすべてのサイトのデータ同期に問題が発生します。

すべてのサイトの同期を維持する方法について何かアイデアはありますか?

同期を行う現在のプログラムはphpで書かれています。すべてのテーブルをループし、最後の同期以降に変更されたレコードをチェックします。

4

1 に答える 1

0

問題が解決しました。多かれ少なかれ。レコードが最後に変更された時期を追跡するだけでなく、現在のサーバーでレコードが作成/変更された時期も追跡します。これは、実際には 2 つのタイム スタンプがあることを意味します。1 つは実際の変更時刻を追跡するためのもので、もう 1 つはこの変更がこのサーバーにいつコピーされたかを追跡するためのものです。レコードがコピーされた時間に基づいてレコードを同期するだけです。

于 2012-04-19T01:03:38.593 に答える