Comportamento de replicação nos Serviços de Domínio Active Directory
O comportamento da replicação é consistente e previsível; Dado um conjunto de alterações em uma determinada réplica, o resultado pode ser previsto — as alterações serão propagadas para todas as outras réplicas. Desenvolver um modelo geral confiável para prever quando as mudanças serão aplicadas em todas as outras réplicas, ou em uma réplica específica, é impossível, porque o estado futuro do sistema distribuído como um todo não pode ser conhecido. Isso é chamado de "latência não determinística", e os aplicativos que usam o diretório devem entendê-lo e permiti-lo.
A situação não é tão complexa quanto parece. Há apenas três estados que um pedido deve acomodar:
- Desvio de versão: nenhuma das alterações aplicadas a uma determinada réplica de origem foi propagada para uma determinada réplica de destino. Um aplicativo que lê a réplica de origem vê a nova versão das informações, enquanto um aplicativo que lê o destino vê a versão antiga (ou nada, se as novas informações foram adicionadas pela primeira vez). A distorção de versão aplica-se a todos os consumidores do serviço de diretório.
- Atualização parcial: algumas das alterações aplicadas a uma determinada réplica de origem foram propagadas para uma determinada réplica de destino. Um aplicativo que lê a réplica de origem vê as novas informações, enquanto um aplicativo que lê o destino vê uma mistura de informações antigas e novas (ou apenas algumas das novas informações, se as novas informações foram adicionadas pela primeira vez). A atualização parcial se aplica aos consumidores de serviço de diretório que usam dois ou mais objetos relacionados para armazenar suas informações.
- Estado totalmente replicado: todas as alterações aplicadas a uma determinada réplica de origem foram propagadas para uma determinada réplica de destino. Os aplicativos nas réplicas de origem e de destino veem as mesmas informações.