Active Directory Domain Servicesでのレプリケーション動作
レプリケーション動作は一貫性があり、予測可能です。特定のレプリカに一連の変更を加えた場合、その変更が他のすべてのレプリカに反映されるという結果を予測できます。 分散システム全体の将来の状態を把握できないため、他のすべてのレプリカまたは特定のレプリカで変更が適用されるタイミングを予測するための信頼性の高い一般的なモデルを考案することは不可能です。 これは"非決定性の待機時間"と呼ばれ、ディレクトリを使用するアプリケーションはこれを理解して許可する必要があります。
状況は、見た目ほど複雑ではありません。 アプリケーションが対応する必要がある状態は3つだけです。
- バージョンスキュー: 特定のソースレプリカに適用された変更のいずれも、特定のターゲットレプリカに反映されていません。 ソースレプリカを読み取るアプリケーションには新しいバージョンの情報が表示され、ターゲットレプリカを読み取るアプリケーションには古いバージョン(新しい情報が初めて追加された場合は、何も追加されません。)が表示されます。 バージョンスキューは、すべてのディレクトリサービスコンシューマーに適用されます。
- 部分更新: 特定のソースレプリカに適用された変更の一部が、特定のターゲットレプリカに反映されました。 ソースレプリカを読み取るアプリケーションには新しい情報が表示され、ターゲットレプリカを読み取るアプリケーションには古い情報と新しい情報が混在して表示されます(新しい情報が初めて追加された場合は、新しい情報の一部のみ)。 部分更新は、複数の関連オブジェクトを使用して情報を格納するディレクトリサービスコンシューマーに適用されます。
- 完全にレプリケートされた状態: 特定のソースレプリカに適用されたすべての変更が、特定のターゲットレプリカに反映されています。 ソースレプリカとターゲットレプリカのアプリケーションには、同じ情報が表示されます。