Modelo de replicação de um programador nos Serviços de Domínio Active Directory
Veja a seguir uma descrição do modelo de replicação para os Serviços de Domínio Active Directory.
Todas as atualizações do controlador de domínio (DC) do Active Directory são executadas usando solicitações LDAP que criam, modificam ou excluem um objeto para cada solicitação. Uma única solicitação pode definir ou modificar vários atributos em um objeto.
Uma solicitação de atualização é processada como uma transação atômica em algum DC. Ou a atualização inteira acontece ou nada disso acontece. Se o solicitante receber uma resposta bem-sucedida a uma solicitação de atualização, toda essa solicitação foi bem-sucedida (confirmada). Isso é chamado de "escrita originária". Várias solicitações LDAP não podem ser agrupadas em uma única transação maior.
Em uma gravação de origem, um DC calcula um "carimbo" para cada valor de atributo novo ou modificado e anexa esse carimbo ao valor para que, quando o valor for replicado, o carimbo também seja replicado. O novo carimbo é único e, em caso de atualização, o novo carimbo é maior que o carimbo do valor antigo naquele DC.
Ocasionalmente, um controlador de domínio seleciona o conjunto de objetos que foram alterados desde a última vez que o controlador de domínio executou a replicação. Em seguida, para cada objeto, ele envia uma única mensagem para todos os outros DCs que contêm todos os valores atuais de atributos alterados desde a última vez que o objeto foi replicado. As mensagens de replicação são confiáveis e são entregues em ordem, mas podem exigir mais tempo para serem entregues.
Quando um controlador de domínio recebe uma mensagem de replicação de outro controlador de domínio, ele a processa da seguinte maneira: para cada atributo modificado, se o carimbo no valor na mensagem de replicação for maior que o carimbo no valor atual, o controlador de domínio aplicará a atualização; caso contrário, o DC descarta a atualização. Cada mensagem de replicação é aplicada como uma transação atômica, assim como uma gravação de origem.
Esse é o modelo de replicação dos Serviços de Domínio Active Directory. As principais propriedades desse modelo incluem:
- Uma gravação originária em um único objeto é atômica.
- Ao replicar alterações, todas as alterações feitas por uma gravação de origem são enviadas ou nenhuma delas é.
- Uma gravação replicada em um único objeto é atômica, mas os conflitos são resolvidos atributo por atributo.
O modelo não garante a ordem de replicação das alterações feitas em objetos diferentes. Não escreva aplicativos que pressuponham que as alterações sejam replicadas na ordem de origem-gravação. O modelo não garante que, se um atributo de um objeto for alterado duas vezes, ambos os valores serão replicados; A replicação envia apenas o valor atual no momento da replicação.
O modelo difere da realidade de várias maneiras que só afetam o desempenho. Por exemplo, o Servidor do Active Directory envia mensagens de replicação contendo as alterações para vários objetos, mas processa o conteúdo de uma mensagem de vários objetos como se fosse uma série de mensagens de objeto único. O Servidor do Active Directory não executa a replicação ponto a ponto conforme descrito no modelo, mas executa uma replicação transitiva mais complexa e mais eficiente que é funcionalmente equivalente ao modelo.