Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Георезервирование: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
Строка 7: Строка 7:
В рабочем домене в приложении Настройка в меню Прочее - Каналы интеграции создайте канал интеграции c пользователем System и правом доступа к файлам. Скопируйте локальный токен.
В рабочем домене в приложении Настройка в меню Прочее - Каналы интеграции создайте канал интеграции c пользователем System и правом доступа к файлам. Скопируйте локальный токен.


===== 2. Подготовьте домен к синхронизации =====
В рабочем домене в меню Домен - Параметры отредактируйте ключ survival_options.
Пример ключа:<syntaxhighlight lang="json" line="1">
{
  "activate_delay_sec": 30,
  "alternatives": [
    {
      "order": 20,
      "token": "457e3fe5b71bcddd27bf2a64ec8ac6d2",
      "uris": "https://site2.era.ru"
    }
  ],
  "custom_sync_metadata": {
    "default_enabled_history": true,
    "default_enabled_settings": true,
    "endpoints_of_history": {},
    "endpoints_of_settings": {}
  },
  "enabled": true,
  "mode": "takeover",
  "name": "",
  "order": 10,
  "security_key": "eQTC1KqHdswBpg9CnGtY",
  "sync_history_mode": "isolate",
  "sync_settings_mode": "oneway",
  "token_local": "9a35d9a5cc20dae183624bfeecbe4cb0",
  "uris_local": "https://site1.era.ru"
}
</syntaxhighlight>
где,
* uris_local - имя локального веб-сервера для Master-сервера
* token_local - локальный токен для канала интеграции (см. пункт 1)
* security_kay - сгенерированная строка авторизации
* alternatives - параметры Slave-сервера<br />
==== Настройка Slave-сервера ====
===== 1. Создайте канал интеграции =====
В рабочем домене в приложении Настройка в меню Прочее - Каналы интеграции создайте канал интеграции c пользователем System и правом доступа к файлам. Скопируйте локальный токен.


Пример конфигурации Master и Slave сервера:
Пример конфигурации Master и Slave сервера:

Версия от 15:23, 15 апреля 2025

Предварительное условие.

Настройка Master-сервера

1. Создайте канал интеграции

В рабочем домене в приложении Настройка в меню Прочее - Каналы интеграции создайте канал интеграции c пользователем System и правом доступа к файлам. Скопируйте локальный токен.

2. Подготовьте домен к синхронизации

В рабочем домене в меню Домен - Параметры отредактируйте ключ survival_options.

Пример ключа:

{
  "activate_delay_sec": 30,
  "alternatives": [
    {
      "order": 20,
      "token": "457e3fe5b71bcddd27bf2a64ec8ac6d2",
      "uris": "https://site2.era.ru"
    }
  ],
  "custom_sync_metadata": {
    "default_enabled_history": true,
    "default_enabled_settings": true,
    "endpoints_of_history": {},
    "endpoints_of_settings": {}
  },
  "enabled": true,
  "mode": "takeover",
  "name": "",
  "order": 10,
  "security_key": "eQTC1KqHdswBpg9CnGtY",
  "sync_history_mode": "isolate",
  "sync_settings_mode": "oneway",
  "token_local": "9a35d9a5cc20dae183624bfeecbe4cb0",
  "uris_local": "https://site1.era.ru"
}

где,

  • uris_local - имя локального веб-сервера для Master-сервера
  • token_local - локальный токен для канала интеграции (см. пункт 1)
  • security_kay - сгенерированная строка авторизации
  • alternatives - параметры Slave-сервера

Настройка Slave-сервера

1. Создайте канал интеграции

В рабочем домене в приложении Настройка в меню Прочее - Каналы интеграции создайте канал интеграции c пользователем System и правом доступа к файлам. Скопируйте локальный токен.

Пример конфигурации Master и Slave сервера:


Концепция

Есть два независимых инстанса.

В обоих инстансах существует домен с одним и тем же названием.

В настройках каждого из них заданы параметры репликации с указанием альтернативного инстанса, доступов к нему, а также приоритета.

В случае корректных настроек и активации режима репликации эти домены на двух инстансах автоматически приходят в состояние Active-Passive.

На инстансе, где домен пассивный, деактивируются микросервисы, создающие активность, а также фасады перестают обслуживать запросы по домену.

При корректно настроенной в домене и включенной репликации выделяются следующие роли для экземпляра домена, а также инстанса при рассмотрении с точки зрения этого домена:

* Мастером называется домен с наивысшим приоритетом (наименьшее значение параметра order)

* Слейвом называется домен с приоритетом, отличным от наивысшего, а также аналогично сам инстанс.

При корректно настроенной в домене и включенной репликации выделяются следующие состояния для экземпляра домена, а также инстанса при рассмотрении с точки зрения этого домена:

* Активным называется домен, который не обнаружил более приоритетных активных альтернатив, и в котором полноценно без ограничений работают сервисы.

* Пассивным называется домен, который обнаружил более пририоритетную активную альтернативу, а также аналогично сам инстанс.

При этом в рамках инстанса может быть несколько различных доменов с настроенной и включенной репликацией, находящихся в разных ролях и состояниях.

Пассивный домен не генерирует активностей: не выполняет сценарии, не запускает продуктовые микросервисы, не осуществляет синхронизации с почтовыми каталогами и мессенджерами.

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

Регистрация SIP-устройств также невозможна, и запросы перенаправляются на SIP-серверы инстанса с активным доменом.

При этом модель данных пассивного домена доступна для администраторов и системных процессов.

Пассивный домен осуществляет регулярный пинг активного экземпляра и при его потере активируется.

Он также производит синхронизацию настроек и модели данных в соответствии с метаданными в настройках репликации.

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

Поддерживается подписка на изменения коллекций, и данные реплицируются в реальном времени.

Активный домен ведет журнал своей активности. Он применяется для выкачивания истории в привязке к периодам пассивности и недоступности.

Таким образом пользовательские данные и история синхронизированы между мастером и слейвом. Слейв в любой момент готов активироваться и приступить к обслуживанию процессов.

При восстановлении мастера сразу или по команде администратора производится перемена состояний доменов.