Особенности работы репликатора Трицепса

Эта информация полезна только для администраторов и только для многоофисных систем.

Принцип работы

Репликатор состоит из двух служб: Triceps.Replication.Master и Triceps.Replication.Slave
Служба Master при запуске зачитывает файл конфигурации, в котором содержится информация о базах данных предприятия:

  • Адрес и порт хоста, на котором расположена служба Slave
  • Имя сервера SQL и экземпляра
  • Наименование базы данных

Далее служба начинает циклический обход этих баз.

  • Устанавливается соединение с первой службой
  • Дается команда службе Slave на сбор данных, изменившихся с последней удачной синхронизации
  • Ожидается ответ в виде пакета с данными **
  • Службе Slave, обслуживающей центральную базу, дается команда на сохранение полученного пакета **
  • Пакет помечается как успешно полученный: в рабочей базе обнуляются поля ReplModified в изменившихся записях
  • Дается команда службе Slave, обслуживающей центральную базу собрать пакет для синхронизируемой рабочей базы, в который войдут данные, полученные центральной базой с момента последнего успешного обновления рабочей базы **
  • Полученный от центральной базы пакет передается рабочей службе с командой на сохранение **
  • Пакет помечается как успешно полученный: в центральной базе данных записывается максимальный номер версии данных (timestamp, функция @@DBTS()) полученных этой рабочей базой
  • Мастер переходит к следующей рабочей базе

** — если произошло превышение времени ожидания переходится к следующей по списку базе

Типовые задачи

Создание многоофисной системы из рабочей одноофисной системы

  • В рабочей базе данных создайте новые записи в таблицах Site и SiteReplicationInfo — по одной для каждой новой рабочей базы данных
  • Остановите работу всех пользователей
  • Скриптом обнулите все флаги модификации (ReplModified) во всей базе данных
  • Обновите колонку UploadVersion таблицы SiteReplicationInfo текущей версией данных:
  • update SiteReplicationInfo set UploadVersion = @@DBTS()
  • Создайте резервную копию рабочей базы данных и из неё на нужных серверах восстановите рабочие базы и одну центральную базу
  • Установите на необходимых точках службы, настройте доступ службам к портам синхронизации (по умолчанию 13000 и 15000)
  • Запустите службы

Добавление базы данных из рабочей одноофисной системы

  • В рабочей базе данных создайте новые записи в таблицах Site и SiteReplicationInfo
  • Остановите работу всех пользователей
  • Дождитесь прохождения успешного цикла синхронизации (результаты синхронизации можно посмотреть в логах)
  • Остановите работу службы Master
  • Создайте резервную копию рабочей базы данных и из неё на нужном сервере восстановите рабочую базу

Обновите колонку UploadVersion таблицы SiteReplicationInfo для новой базы текущей версией данных:

update SiteReplicationInfo set UploadVersion = @@DBTS() where SiteReplicationInfoID = [идентификатор]

Установите на необходимых точках службы, настройте доступ службам к портам синхронизации (по умолчанию 13000 и 15000)
Запустите службы

Последние версии репликатора

В многоофисных системах необходимо либо обновить каждую базу данных, либо остановить любую работу сотрудников, дождаться успешной синхронизации баз данных, обновить версию одной из баз данных и разнести её по рабочим серверам и точке-дистрибутору. После чего обновить версию сервисов-репликаторов и запустить репликацию.

Обратите внимание! По условиям лицензий бесплатные обновления доступны либо в первый год после покупки, либо после продления подписки на обновления. Вы можете скачать файлы репликатора, однако работоспособными будут только файлы последней доступной вам версии!

Rate this post