Функции репликации условно делятся на два типа.
- Транспортные модули (отвечают за передачу данный между серверами).
- Программные модули (отвечают за применение переданных данных).
Обобщенная схема репликации
На схеме показано расположение приложений и БД, касающихся работы репликации. Изображенные элементы на схеме можно выделить в следующие блоки:
Сервера
- Центральный сервер (master) - основной сервер, выполняет роль хранилища всех справочников, балансов игровых карт, транзакций. В корпоративной версии загрузка кодов карт осуществляется в базу центрального сервера, он же осуществляет передачу и применение всех транзакций.
Порты необходимые для работы транспорта - 7007, 8905, 8906, 8907, 8908, 60005, 60006, 60007, 60008. - Локальный сервер (slave) - сервер, управляет данными конкретного развлекательного центра. С локальным сервером происходит взаимодействие контроллеров и касс центра.
Порты необходимые для работы транспорта - 8905, 8906, 8907, 8908, 60005, 60006, 60007, 60008.
Базы данных
- CDB (центральная база данных) – хранит данные со всех игротек, размещается на центральном сервере.
- RDB (промежуточная база данных) – выполняет роль буфера при репликации данных между локальным и центральным сервером, размещается на локальном сервере.
- LDB (рабочая база данных) – хранит данные локального развлекательного центра, размещается на локальном сервере.
Транспортные модули
Приложения транспорта
- RPL8_CARDS – осуществляют репликацию кодов карт из CDB в LDB.
- RPL8_DICT_DOWN – осуществляют репликацию справочников из CDB в RDB.
- RPL8_TRANS_DOWN – осуществляют репликацию транзакций CDB в LDB.
- RPL8_TRANS_UP – осуществляют репликацию транзакций LDB в CDB.
Для настройки
- Rpl8Manager – вспомогательное программное обеспечение, используется для первоначальной настройки служб репликации или при обновлении.
- CommonServer – вспомогательное программное обеспечение, используется как агрегатор/прокси для настройки служб репликации через Rpl8Manager.
- Sample mapping - базовый мэпинг, настройки которые определяют как должны передаваться данные из базы master в базу slave и обратно. Используется для настройки служб транспорта на центральном сервере.
- Rpl8DB - скрипты необходимые для адаптации баз в работе в репликации. Используются при разворачивании баз
Приложение помощник применения справочников
- Run_MServer_Replicate - выполняет запуск gkMServer. При старте через SocketServer подключается к gkMServer, даёт команду применить справочники, после чего завершает работу. Для постоянного применения справочников добавляется в Планировщик заданий Windows.
Приложения применения
Данные приложения отвечают за применение переданных данных.
- gkMServer – осуществляет применение справочников. Переносит из RDB в LDB элементы справочников конкретного развлекательного центра.
- gkPosServer – осуществляет применение транзакций. Переносит транзакции из таблицы gk.GK_TRANSACTR в таблицу gk.GK_TRANSACTS и изменение балансов карт в LDB.
Порты по назначению
- 7007 - используется службой CommonServer, на нем регистрируются все транспортные службы для возможности настройки
- 8905 - используется службой RPL8_CARDS (передача настроек репликации).
- 8906 - используется службой RPL8_DICT_DOWN (передача настроек репликации).
- 8907 - используется службой RPL8_TRANS_UP (передача настроек репликации).
- 8908 - используется службой RPL8_TRANS_DOWN (передача настроек репликации).
- 60005 - используется службой RPL8_CARDS (передача данных).
- 60006 - используется службой RPL8_DICT_DOWN (передача данных).
- 60007 - используется службой RPL8_TRANS_UPRPL8_TRANS_UP (передача данных).
- 60008 - используется службой RPL8_TRANS_DOWN (передача данных).