現在、ファイル同期に関するいくつかの研究開発を行っていますが、最終的にrsyncに出くわしました(誰がそうしませんか?)。
コンテキスト:中央ファイルリポジトリとして使用されるサーバーがあり、管理者によってのみ更新されます。複数のユーザーが中央リポジトリからファイルシステムを同期します。これは一方向の同期です。つまり、ユーザーがリポジトリを更新することはありません。更新はrsyncで行われます。
少しシナリオを考えてみましょう:
- ユーザーがサーバーからファイルの更新を開始し、ファイルAをダウンロードします
- 管理者はサーバー上のファイルAとBを更新し、A'とB'を作成します
質問:3番目のステップは何ですか?
- ユーザーはB'をダウンロードします。彼はAとB'を持っているため、ファイル間で一貫性のない状態になります
- ユーザーがBをダウンロードします。彼はAとBを持っているため、一貫性はありますが古い状態になります
- ユーザーがB'とA'をダウンロードすると、一貫性のある最新の状態になります
- 他に何か ?