Поделиться через


Модель репликации программиста в службах домен Active Directory

Ниже приведено описание модели реплика tion для служб домен Active Directory.

Все обновления контроллера домен Active Directory (DC) выполняются с помощью запросов LDAP, которые создают, изменяют или удаляют один объект для каждого запроса. Один запрос может задать или изменить несколько атрибутов в объекте.

Запрос на обновление обрабатывается как атомарная транзакция на некоторых контроллерах домена. Либо все обновление происходит, либо ни один из них не выполняется. Если запрашивающий получает успешный ответ на запрос обновления, весь запрос успешно выполнен (зафиксирован). Это называется "исходной записью". Несколько запросов LDAP нельзя сгруппировать в одну большую транзакцию.

В исходной записи контроллер домена вычисляет "метку" для каждого нового или измененного значения атрибута и присоединяет эту метку к значению, поэтому, когда значение реплика задается, метка также реплика. Новая метка уникальна, и в случае обновления новая метка больше, чем метка старого значения на этом контроллере домена.

Иногда контроллер домена выбирает набор объектов, которые изменились с момента последнего выполнения контроллера домена реплика. Затем для каждого объекта он отправляет одно сообщение всем другим контроллерам домена, которые содержат все текущие значения атрибутов, измененных с момента последнего реплика. Сообщения репликации являются надежными и доставляются в порядке, но может потребоваться больше времени для доставки.

Когда один контроллер домена получает сообщение реплика от другого контроллера домена, он обрабатывает его следующим образом: для каждого измененного атрибута, если метка значения в сообщении реплика tion больше, чем метка текущего значения, контроллер домена применяет обновление; в противном случае контроллер домена отменяется карта обновления. Каждое сообщение реплика tion применяется как атомарная транзакция, так же как и исходная запись.

Это модель реплика служб домен Active Directory. К ключевым свойствам этой модели относятся:

  • Исходное запись в один объект является атомарным.
  • При реплика изменении все изменения, внесенные исходной записью, отправляются или ни один из них не выполняется.
  • Реплика записи в один объект является атомарным, но конфликты разрешаются по атрибутам.

Модель не гарантирует упорядочение реплика изменений, внесенных в различные объекты. Не записывайте приложения, предполагающие, что изменения реплика в порядке исходной записи. Модель не гарантирует, что если атрибут объекта изменяется дважды, оба значения будут реплика; Репликация отправляет только текущее значение во время реплика.

Модель отличается от реальности несколькими способами, которые влияют только на производительность. Например, сервер Active Directory отправляет сообщения реплика tion, содержащие изменения в нескольких объектах, но обрабатывает содержимое такого много объектного сообщения, как будто это был ряд сообщений с одним объектом. Сервер Active Directory не выполняет реплика точки до точки, как описано в модели, но вместо этого выполняет более сложный и более эффективный транзитивный реплика tion, который функционально эквивалентен модели.