Резервированный сервер ТехноДок + резервированный проект КАСКАД
В данном разделе описана конфигурация, состоящая из 2 резервированных серверов ТехноДок и КАСКАД. Для примера будем использовать следующие адреса:
reports.server1
иreports.server2
– основной и резервный сервер ТехноДок. База данных ТехноДок находится на тех же серверах. В качестве резервируемой БД может выступать MariaDB, PostgreSQL или Microsoft SQL Server.kaskad.server1
иkaskad.server2
- основной и резервный сервер КАСКАД.
Для обмена данными между ТехноДок и КАСКАД используется протокол XMLRPC. Для отображения графического интерфейса ТехноДок используется панель с компонентом WebView. Для настройки взаимодействия ТехноДок и КАСКАД необходимо выполнить следующие действия:
- Настроить кластер БД ТехноДок.
- Настроить кластер ТехноДок.
- Добавить и настроить скрипты взаимодействия КАСКАД с ТехноДок в проекте КАСКАД в настроенный резервируемый проект.
- Добавить в ТехноДок внешнее соединение с настройками подключения для каждой из пар проекта КАСКАД.
- Добавить и настроить в проекте КАСКАД панель отображения ТехноДок с автоматическим выбором основного сервера.
Настройка кластера БД ТехноДок
В качестве резервируемой БД в ТехноДок могут выступать следующие СУБД:
- MariaDB (подробное описание настройки репликации доступно в Резервирование MariaDB);
- PostgreSQL (описание возможных вариантов резервирования доступно в Резервирование PostgreSQL);
- Microsoft SQL Server (описание возможных вариантов резервирования доступно в Резервирование Microsoft SQL Server).
После выполнения настройки резервирования БД необходимо на каждом из серверов ТехноДок задать следующие настройки подключения:
- Открыть файл
technodoc.settings.ini
на хостеreports.server1
. - В секции
[Database:Connections:Primary]
раскомментировать следующие строки и указать корректные данные авторизации:
# Настройки для MariaDb
Type = MariaDb # Тип БД – MariaDb
ConnectionString=Server=reports.server1;Database=technodoc;Uid=root;Password=password # Строка соединения с БД;
# Настройки для PostgreSql
Type = PostgreSql # Тип БД – PostgreSql
ConnectionString=Server=reports.server1;Database=technodoc;User Id=postgres;Password=postgres;SearchPath=td# Строка соединения с БД;
# Настройки для Microsoft SQL Server
Type = MsSql # Тип БД – MS SQL Server
ConnectionString=Server=reports.server1;Database=technodoc;User Id=sa;Password=password # Строка соединения с БД;
- В секции
[Database:Connections: Standby]
раскомментировать следующие строки и указать корректные данные авторизации:
# Настройки для MariaDb
Type = MariaDb # Тип БД – MariaDb
ConnectionString=Server=reports.server2;Database=technodoc;Uid=root;Password=password # Строка соединения с БД;
# Настройки для PostgreSql
Type = PostgreSql # Тип БД – PostgreSql
ConnectionString=Server=reports.server2;Database=technodoc;User Id=postgres;Password=postgres;SearchPath=td # Строка соединения с БД;
# Настройки для Microsoft SQL Server
Type = MsSql # Тип БД – MS SQL Server
ConnectionString=Server=reports.server2;Database=technodoc;User Id=sa;Password=password # Строка соединения с БД;
- В секции
[Database]
установить настройкуFailoverStrategy
в значениеRoundRobin
(используется по умолчанию).
FailoverStrategy = RoundRobin
- Повторить настройки в таком же порядке на сервере
reports.server2
.
Альтернативный вариант задать строку подключения к БД, в которой будут сразу указаны все сервера для подключения и приоритетная БД для подключения, за выбор БД для подключения будет отвечать драйвер, для этого:
- Открыть файл
technodoc.settings.ini
на хостеreports.server1
. - В секции
[Database:Connections:Primary]
раскомментировать следующие строки и указать корректные данные авторизации:
Type = PostgreSql # Тип БД – PostgreSql
ConnectionString=Server=reports.server1,reports.server2;Database=technodoc;User Id=postgres;Password=postgres;SearchPath=td;Target Session Attributes=primary # Строка соединения с БД;
- Повторить настройки в таком же порядке на сервере
reports.server2
. В данном случае с помощью задания опции подключенияTarget Session Attributes=primary
драйвер автоматически будет искать и подключаться к главной БД без необходимости явного указанию второй строки соединения.
При выборе в качестве опции резервирования группы доступности Always On
будет нужна только одна строка подключения, соответственно настройки подключения будут выглядеть следующим образом (в качестве адреса кластера для примера зададим cluster.server):
- Открыть файл
technodoc.settings.ini
на хостеreports.server1
. - В секции
[Database:Connections:Primary]
раскомментировать следующие строки и указать корректные данные авторизации:
Type = MsSql # Тип БД – MS SQL Server
ConnectionString=Server=cluster.server;Database=technodoc;User Id=sa;Password=password # Строка соединения с БД;