0

スタンドアロンおよび分散 (Web) アプリケーション フレームワークを開発しています。各マシンに sqlite データベースがあり、フレームワークはそのマシンにデータを保存しますが、マシンがネットワーク内にある場合は、データを他のマシンと同期する必要があり、データは一貫している必要があります。たとえば、ユーザーは任意のマシンに登録できますが、その情報は他のすべてのマシンにも複製する必要があります。ユーザーは任意のマシンにログインし、再認証なしで他のマシンに移動できます (マシンはすべてのオンライン マシンのリストを表示し、ユーザーはいずれかをクリックして、そのマシンの Web アプリに移動します)。

マスター マシンの概念を持つことができますが、そのマシンは専用のマスター (サーバー) ではなくピアでもあります。そのマスター マシンの目的は、ピアに情報を求めるのではなく、マシンの単一の参照ポイントを維持することです。

データの一貫性を保つ方法の 1 つは、最初にマスター マシンでデータを作成し、次にローカル マシンでコピーを作成して、データの一貫性を保つことです (たとえば、2 人のユーザーが同じユーザー名でユーザーを作成するなど)。SO マシンには、重複やネットワークの輻輳を回避するためにデータを検証する 1 つのポイントがあります。

また、すべてのデータを複製/同期する必要はありませんが、ユーザー、セッションなどだけです.

クエリの数があります。

トランザクションでどのように処理しますか? それに対する最善のアプローチは何ですか?

GUID は識別子です。ID をどこでも同じに保つべきですか、それともすべてのデータ ソースが独自の ID を持つことができるのでしょうか?

シンクロナイザーを別のツールとして作成する必要があるため、他のサービスもデータ/ファイルの送信とレプリケーションに使用できます。

.net テクノロジーを使用しています。pnrp を基本的な技術スタックとして考えていました。

4

0 に答える 0