4.3Установка и настройка сервера приложений Федерального реестра
4.3.1 Установка виртуальной машины Java
Для установки виртуальной машины Java выполните следующие действия:
Скопируйте файл jdk-7u17-windows-x64.exe из папки \Общее программное обеспечение во временную папку (например, в C:\Temp) и запустите его на выполнение. Откроется окно License Agreement (Лицензионное соглашение) (см. Рисунок 4 .15):
Рисунок 4.15 - License Agreement (Лицензионное соглашение)
Ознакомьтесь с лицензионным соглашением и нажмите кнопку Accept (Согласен) для принятия лицензионного соглашения и продолжения процесса установки. Откроется окно Custom Setup (Опции установки):
Рисунок 4.16 - Custom Setup (Опции установки)
В открывшемся окне (см. Рисунок 4 .16) нажмите кнопку Change (Изменить) и в открывшемся окне укажите каталог для установки компонента виртуальной машины Java – Java Development Kit.
Внимание!
|
|
Название каталога установки не должно содержать пробелы и русские символы.
|
Нажмите кнопку ОК, произойдет возврат в окно Custom Setup (Обычная установка) (см. Рисунок 4 .16), в котором нажмите кнопку Next (Далее). Начнется копирование файлов компонента (см. Рисунок 4 .17):
Рисунок 4.17 - Installing (Установка)
Дождитесь окончания установки Java Development Kit и перехода в окно Custom Setup (Обычная установка) для установки следующего компонента виртуальной машины Java Runtime Environment (JRE):
Рисунок 4.18 - Destination Folder (Путь к папке)
В открывшемся окне (см. Рисунок 4 .18) нажмите кнопку Change (Изменить) и в открывшемся окне укажите директорию для установки JRE.
-
-
-
Внимание!
|
|
Название каталога установки не должно содержать пробелы и русские символы.
|
Нажмите кнопку OK. Произойдет возврат в окно Custom Setup (Обычная установка) установки JRE (см. Рисунок 4 .18).
Нажмите кнопку Next (Далее), начнется копирование файлов компонента (см. Рисунок 4 .19):
Рисунок 4.19 - Installing Java (Установка Java)
Дождитесь окончания установки. После окончания установки откроется окно Successfully Installed (Успешное завершение установки) (см. Рисунок 4 .20):
Рисунок 4.20 - Successfully Installed (Успешное завершение установки)
Нажмите кнопку Close.
Далее необходимо создать новую системную переменную окружения JAVA_HOME со значением, соответствующим ранее выбранному каталогу установки компонента виртуальной машины Java - JDK. Для этого выполните следующие действия:
Щелкните правой кнопкой мыши на иконке Мой компьютер (My computer) и выберите пункт Свойства (Properties), Откроется окно Свойства системы (см. Рисунок 4 .21):
Рисунок 4.21 - Свойства системы (Systems Properties)
Перейдите на закладку Дополнительно (Advanced).
Нажмите кнопку Переменные среды (Environment Variables), откроется окно Переменные среды (см. Рисунок 4 .22):
Рисунок 4.22 - Переменные среды (Environment Variables)
Нажмите кнопку Создать (New) в блоке Системные переменные. Откроется окно (см. Рисунок 4 .23) Новая системная переменная (New system variable):
Рисунок 4.23 - Новая системная переменная (New system variable)
В поле Имя переменной (Variable name) введите – JAVA_HOME. Если переменная JAVA_HOME уже существует, то необходимо изменить ее значение так, чтобы оно соответствовало выбранному каталогу установки Java JDK.
В поле Значение переменной (Variable value) введите путь к установленной машине Java - JDK.
Нажмите кнопку ОК и перезагрузите компьютер.
Установка программного обеспечения виртуальной машины Java завершена.
4.3.2 Установка и настройка сервера приложений
Рекомендуется производить установку серверного ПО Федерального реестра на отдельный сервер (сервер приложений).
Распакуйте каталог Appserver3 из файла-архива Appserver3.zip на выбранный жесткий диск сервера приложений (например, на C:\).
Перейдите в каталог C:\Appserver3\conf и откройте в любом текстовом редакторе файл server.xml.
Введите в переменных «Server port» и «Connector port» значения свободных на данном хосте портов. Закройте файл с сохранением введенных данных.
Пример (изменяемая часть отмечена жирным):
Server port="8006" shutdown="SHUTDOWN"
Connector port="8080" protocol="HTTP/1.1"
4.3.3 Установка и настройка веб-приложения Федерального реестра
Для начала установки и настройки веб-приложения Федерального реестра выполните следующие действия:
Распакуйте каталог \RGU_WAR_2 из файла-архива RGU_WAR_2.zip в составе дистрибутива в каталог сервера приложений: C:\Appserver3\webapps\.
Перейдите в подкаталог C:\Appserver3\webapps\RGU_WAR_2\WEB-INF\classes и откройте в любом текстовом редакторе файл application.properties.
Укажите параметры подключения к БД Федерального реестра (БД rgu) и параметры Федерального реестра в соответствии с Таблица 4 .9.
Таблица 4.9– Параметры подключения к БД Федерального реестра
Параметр
|
Описание
|
db.url=jdbc:postgresql://localhost/rgu
|
Указать путь к актуальной БД Федерального реестра. Формат адреса следующий: jdbc:postgresql://<�адрес>:<�порт>/<�Имя БД>
Где:
<�адрес> - IP-адрес или имя компьютера, на котором размещен сервер БД
<�порт> - порт, на который настроена БД, по умолчанию 5432
<�Имя БД> - имя базы данных на сервере БД
Изменяемая часть отмечена жирным
|
db.user =postgres
|
Имя пользователя, владельца базы
Изменяемая часть отмечена жирным
|
db.password=root
|
Пароль пользователя, владельца базы
Изменяемая часть отмечена жирным
|
region.code=63
|
Код региона, 00 для федерального реестра.
Изменяемая часть отмечена жирным
|
http.url
|
URL, используется для файлового обмена с внешними системам
|
http.internal.url
|
URL, используется для файлового обмена внутри системы
|
jms.context.factory= jmsFactoryExternal
|
|
jms.broker.url= tcp://46.29.73.206:61616
|
Путь к ActiveMQ контрагента (описание в разделе 4.3.4.1.1). Формат адреса следующий: tcp://:
Где:
- IP-адрес или имя компьютера, на котором размещен ActiveMQ контрагента
- порт, на который настроен ActiveMQ контрагента, по умолчанию 61616
Изменяемая часть отмечена жирным
|
input.queue =RGU.00.INPUT
|
Имя созданной в ActiveMQ очереди входящих сообщений (описание в разделе 4.3.4.1.3), используется транспортной подсистемой Федерального реестра.
Изменяемая часть отмечена жирным
|
jms.contragent.name=RGU.00.INPUT
|
Имя созданного контрагента в транспортной подсистеме Федерального реестра (описание в разделе 4.3.4.1.4).
Изменяемая часть отмечена жирным
|
epgu.service.url=http://gosuslugi.ru/
|
Адрес для взаимодействия с Единым порталом государственных услуг
|
Закройте файл application.properties с сохранением изменений.
Запустите реестр с помощью \appserver3\bin\startup.bat.
4.3.4 Настройка обмена данными с Региональным (муниципальным) реестром
Транспортная система Федерального реестра реализована на основе домена PTP, где данные передаются через очереди сообщений.
Каждому экземпляру Федерального реестра должна соответствовать очередь входящих сообщений, которую он будет прослушивать. Это значит, что в пределах сетевой досягаемости Tomcat с приложением Федерального реестра должен быть установлен и настроен сервер Apache ActiveMQ с очередью сообщений, из которой будут считываться данные. Адрес очереди указывается в настройках (URL контрагента).
Настройка транспортной системы Федерального реестра включает создание контрагентов, каждому из которых соответствует адрес его сервера Apache ActiveMQ Message Broker и название очереди сообщений на этом сервере. После добавления конрагента при создании и редактировании бизнес-объектов (услуг, функций, ОГВ, пользователей, ролей) транспортная система начнет отсылать сообщения в его входящую очередь. Схема обмена данными между реестрами указана на Рисунок 4 .24:
Рисунок 4.24 - Архитектурная схема обмена данными между реестрами разных уровней
Как видно из схемы (см. Рисунок 4 .24), Региональные реестры не обмениваются данными напрямую, хотя на практике такое взаимодействие возможно. В Федеральном реестре предусмотрена ретрансляция сообщений на всех заинтересованных контрагентов, поэтому для распространения бизнес-объекта по всем нужным экземплярам Региональных реестров достаточно послать его во входную очередь Федерального реестра (на схеме направление показано красной стрелкой). Далее, Федеральный реестр осуществит ретрансляцию на Региональные реестры (на схеме направление показано черной стрелкой).
4.3.4.1 Настройка обмена данными с реестром
Для настройки обмена данными с региональным или муниципальным реестром выполните следующие действия:
Установите ActiveMQ (описание установки приведено в разделе 4.3.4.1.1) .
Создайте очередь в ActiveMQ (описание приведено в разделе 4.3.4.1.2) .
Настройте приложение Федерального реестра на входную очередь (описание приведено в разделе 4.3.4.1.3).
Выполнить настройку транспортной подсистемы Федерального реестра (описание приведено в разделе 4.3.4.1.4).
4.3.4.1.1 Установка и настройка Apache ActiveMQ
Для установки Apache ActiveMQ необходимо выполнить следующие действия:
Зайдите на дистрибутивный носитель данных для установки Системы в папку с архивом дистрибутива сервера Apache ActiveMQ.
Разархивируйте его.
Запустите команду ./activemq start для Linux (или в командной строке запустите activemq.bat для Windows).
После завершения установки Apache ActiveMQ готов к работе.
4.3.4.1.2 Создание очереди
Для создания очереди зайдите в настройки администрирования Apache ActiveMQ, перейдя в браузере по ссылке http://localhost:8161/admin.
Зайдите на вкладку Queues. На Рисунок 4 .25 показан вид открывшейся страницы настройки.
Рисунок 4.25 - Вкладка Queues
Наберите желаемое имя очереди, например, RGU.00.INPUT.
Нажмите кнопку Create.
Очередь создана.
4.3.4.1.3 Настройка приложения Федерального реестра на входную очередь
Чтобы настроить приложение Федерального реестра на входную очередь, выполните следующие действия:
Остановите сервер, на котором находится приложение RGU_WAR_2.
Откройте в любом текстовом редакторе файл application.properties (путь к файлу указан в разделе 4.3.3).
Установите в файле application.properties следующие параметры Федерального реестра в соответствии с Таблица 4 .10.
Таблица 4.10– Параметры Федерального реестра для файла application.properties в части настройки обмена данными с реестром
Параметр
|
Описание
|
jms.context.factory=jmsFactoryExternal
|
|
jms.broker.url= tcp://46.29.73.206:61616
|
Указать путь к ActiveMQ контрагента. Формат адреса следующий: tcp://:
Где:
- IP-адрес или имя компьютера, на котором размещен ActiveMQ контрагента
- порт, на который настроен ActiveMQ контрагента, по умолчанию 61616
Изменяемая часть отмечена жирным
|
input.queue =RGU.00.INPUT
|
Имя созданной в ActiveMQ очереди входящих сообщений, используется транспортной подситемой Федерального реестра.
Изменяемая часть отмечена жирным
|
jms.contragent.name=RGU.00.INPUT
|
Имя созданного контрагента в транспортной подсистеме Федерального реестра.
Изменяемая часть отмечена жирным
|
Сохраните файл application.properties.
Запустите сервер вновь.
На Рисунок 4 .26 изображена итоговая страница с настроенной входящей очередью. Число слушателей настроенной очереди можно посмотреть в поле Number of Customers. Если в этом поле после всей настройки стоит 1, значит приложение настроено на очередь правильно.
Рисунок 4.26 - Страница со сделанной настройкой входящей очереди
4.3.4.1.4 Настройка транспортной системы Федерального реестра
Для настройки транспортной системы войдите в приложение Федерального реестра под учетной записью администратора (описание приведено в разделе 4.4.1).
Выберите вкладку Администрирование, пункт Настройки транспортной системы. На Рисунок 4 .27 изображена форма настройки транспортной системы.
Рисунок 4.27 - Настройки транспортной системы в приложении Федерального реестра
Нажмите кнопку Создать.
Описание полей и правила их заполнения приведено в разделе 4.4.4.2.
Нажмите кнопку Сохранить.
На Рисунок 4 .27 в качестве примера указана настройка контрагента регионального реестра Самарской области. После сохранения настроек начнётся передача услуг, функций, ОГВ ФОИВов в реестр Самарской области. При этом SSN контрагента будет постепенно увеличиваться, пока не достигнет SSN системы.
4.3.4.2 Добавление сертификата в личное хранилище сертификатов
Далее необходимо добавить сертификаты лиц, ответственных за размещение сведений о государственных и муниципальных услугах в Федеральном реестре.
Примечание.
|
|
Процесс добавления сертификата в личное хранилище должен осуществляться непосредственно с сервера федерального реестра.
|
Внимание! Для возможности работы с квалифицированной ЭП на рабочем месте оператора Реестра необходимо установить Крипто Про (см. «Руководство пользователя по настройке рабочего места для корректной работы с ключами электронной цифровой подписи и сертификатами ключей подписи выпущенными удостоверяющим центром ОГИЦ». Данное руководство можно найти в свободном доступе в сети Интернет) или ViPNet CSP (см. «Комплект пользовательской документации на ПО ViPNet CSP». Данное руководство можно найти в свободном доступе в сети Интернет на сайте компании Инфотекс). Для корректной работы подсистемы подписи и проверки ЭЦП необходимо установить только один из предложенных криптопровайдеров
Для добавления сертификата в Личное хранилище выполните следующие действия:
Выполните вход в Менеджер сертификатов. Для этого нужно зайти в пункт меню «Пуск» - «Выполнить» и в консоли ввести certmgr.msc. Откроется окно Сертификаты (см. Рисунок 4 .28):
Рисунок 4.28 – Менеджер сертификатов
В Менеджере сертификатов выберите пункт меню «Личные» - «Сертификаты». Нажмите правой кнопкой мыши на папке «Сертификаты» (в случае ее отсутствия на папке «Личные») и выберите пункт - «Все задачи» - «Импорт», запустится Мастер импорта сертификатов.
В окне Мастера импорта сертификатов нажмите кнопку Далее.
В поле Имя файла добавьте требуемый сертификат пользователя с помощью кнопки Обзор (см. Рисунок 4 .29):
Рисунок 4.29 - Выбор файла с сертификатом
После выбора сертификата нажмите кнопку Далее.
В следующем окне Мастера импорта сертификатов выберите опцию Поместить все сертификаты в следующее хранилище и с помощью кнопки Обзор выберите папку «Личные» для хранения сертификатов.
В окне Мастера импорта сертификатов нажмите кнопку Далее, затем кнопку Готово, появится окно подтверждения успешности импорта (см. Рисунок 4 .30):
Рисунок 4.30 – Окно подтверждения успешности импорта
Внимание! Корневой сертификат должен быть размещен в хранилище «Доверенные издатели», расположенном на сервере Федерального реестра.
Чтобы переместить корневой сертификат в указанное хранилище выполните следующие действия:
Откройте свойства сертификата пользователя, для этого двойным щелчком левой клавиши мыши на файле с сертификатом, откроется окно Сертификат (см. Рисунок 4 .31):
Рисунок 4.31 – Свойства сертификата пользователя
Перейдите на вкладку Путь сертификации.
Выделите строку с корневым сертификатом (см. Рисунок 4 .32):
Рисунок 4.32 - Выбор корневого сертификата
Нажмите кнопку Просмотр сертификата.
В открывшемся окне нажмите кнопку Установить сертификат, откроется Мастер импорта сертификатов.
Нажмите кнопку Далее. В следующем окне Мастера импорта сертификатов выберите опцию Поместить все сертификаты в следующее хранилище, с помощью кнопки Обзор выберите хранилище «Доверенные издатели» и нажмите кнопку ОК.
В окне Мастера импорта сертификатов нажмите кнопку Далее и затем кнопку Готово. Отобразится сообщение об успешности импорта корневого сертификата (см. Рисунок 4 .33):
Рисунок 4.33 – Окно подтверждения успешности импорта коревого сертификата
В окне Сертификат нажмите кнопку ОК.
Сертификат пользователя успешно добавлен.
4.3.5 Настройка работы с квалифицированной ЭП
Для возможности работы с квалифицированной ЭП необходимо установить Крипто Про. Установка Крипто Про осуществляется в соответствии с документацией по данному программному продукту. Так же необходимо добавить корневой сертификат в менеджере сертификатов в «Доверенные корневые центры сертификации» и для получения возможности добавлять сертификаты контрагентам Федерального реестра нужно добавить личные сертификаты пользователей в хранилище «Другие пользователи».
В 64-х битных системах возможна ситуация, когда при выборе сертификата в АРМ реестра открывается пустое окно, при этом сертификат присутствует в личном хранилище. В таких случаях необходимо вручную зарегистрировать библиотеку capicom.dll, для этого необходимо:
Скопировать файлы capicom.dll и capicom.inf в папку c:\windows\syswow64. Зарегистрируйте dll через «Пуск» → «Выполнить» → c:\windows\syswow64\regsvr32.exe capicom.dll
Должно появиться сообщение об успешной регистрации.
Желательно отключить контроль учётных записей. Для этого необходимо зайти в пункт меню «Пуск» → «Панель управления» → «Учётные записи пользователей» → «Изменение параметров контроля учетных записей». В открывшемся окне, необходимо опустить «бегунок» до нижнего уровня «Никогда не уведомлять…».
4.3.5.1 Требования к сертификатам
К сертификату предъявляются следующие требования, обеспечивающие его совместимость с функционалом Реестра:
сертификат х509 имеет непустое поле CN;
сертификат выдан удостоверяющим центром, аккредитованным ОГИЦ;
сертификат соответствует RFC 4158.
Проверить корректность сертификата можно утилитой keytool.exe, которая входит в java (jre и jdk). Данная утилита использует тот же API, что и Федеральный реестр.
После запуска утилита запрашивает пароль к хранилищу (введите любые 6 символов). После чего утилита прочитывает сертификат и либо спрашивает, верить ли ему, если сертификат корректный, либо выдаст сообщение об ошибке, если сертификат некорректный.
Маска запуска утилиты имеет следующий вид:
keytool.exe -importcert -file путь к файлу
Пример команды для проверки сертификата:
keytool.exe -importcert -file C:\1\ СмахтинаСВ.cer
4.3.6 Настройка отчётов Федерального реестра
Настройка параметров БД, с которой будет работать система отчетов, располагается в файле appserver3\conf\Catalina\localhost\birt.xml.
Основные параметры:
url - адрес подключения к СУБД Федерального реестра, по которому будут строиться отчеты;
username - имя пользователя для подключения;
password - пароль пользователя.
Значения по умолчанию:
url="jdbc:postgresql://localhost:5432/rgu";
username="postgres";
password="Qq1234567".
4.3.7 Настройка взаимодействия Федерального реестра с Единой системой идентификации и аутентификации (ЕСИА)
Для того чтобы настроить взаимодействие Федерального реестра с Единой системой идентификации и аутентификации (ЕСИА) выполните следующие действия:
Отредактируйте конфигурационный файл, для этого в ROOT/WEB-INF/classes/siaAuth.properties добавьте параметр:
sia.epgu.register.url=<�Адрес сервера СИА>, например
sia.epgu.register.url=https://esia.gosuslugi.ru/idp/Authn/CommonLogin
Настройте веб-приложение Федерального реестра. Для этого в ROOT/WEB-INF/web.xml добавьте настройки (обратите внимание на самый первый параметр oiosaml-j.home, эта папка должна существовать и быть пустой):
oiosaml-j.home
С:/portal/saml/
dk.itst.oiosaml.sp.service.session.SessionDestroyListener
SAMLDispatcherServlet
dk.itst.oiosaml.sp.service.DispatcherServlet
SAMLDispatcherServlet
/saml/*
LoginFilter
dk.itst.oiosaml.sp.service.SPFilter
LoginFilter
/protected/*
SamlPostLoginServlet
ru.lanit.pgu.servlet.SamlPostLoginServlet
SamlPostLoginServlet
/samlPostLogin
Saml Logout Filter
ru.lanit.pgu.servlet.SamlLogoutFilter
Saml Logout Filter
/*
Запустите сервер приложений (см. п. 4.3.9).
Зайдите на http:///saml/configure и укажите уникальный в рамках ЕПГУ entityID.
Присоедините файл с метаданными ЕПГУ.
Приложите ключ квалифицированной ЭП
Введите пароль на ключ квалифицированной ЭП.
Введите имя организации, URL организации, адрес электронной почты.
Проставьте галочку Enable Redirect Consumer.
Сохраните внесенные изменения.
4.3.8 Настройки интеграционного взаимодействия
Для настройки общей части интеграционного взаимодействия выполните следующие действия:
Установите КриптоПро JCP 1.0.53.
./jcp.1.0.53/lib/install.sh [JAVA_HOME]/jre (или аналогичный bat файл для windows)
Запустите конфигурацию КриптоПро JCP:
~/jcp.1.0.53/lib$ sudo ./ControlPane.sh [JAVA_HOME]/jre (или аналогичный bat файл для windows)
Добавьте предоставленные сертификаты в директорию со значением поля Путь к хранилищу HDImage (см. Рисунок 4 .36):
Рисунок 4.34 - Путь к хранилищу
4.3.8.1 Настройки взаимодействия Федерального реестра с Единой системой НСИ
Для того чтобы настроить взаимодействие Федерального реестра с Единой системой НСИ выполните следующие действия:
Задайте корректный адрес прокси (RGU_NSI) в таблице rgu.system_properties. По умолчанию "SMEV_PROXY_URL"; http://46.29.73.206:8082/RGU_NSI_2/NSIProvider
В самом прокси приложении RGU_NSI_2 в директории WEB-INF/classes/system.properties задайте свойство NSI_URL. По умолчанию
NSI_URL=http://188.254.16.92:7777/gateway/services/SID0003038.
4.3.8.2 Настройка сервиса загрузки органов государственной власти
Данный веб-сервис зарегистрирован в Системе межведомственного электронного взаимодействия (СМЭВ).
Адрес сервиса: http://188.254.16.92:7777/gateway/services/SID0003551
Адрес WSDL сервиса:
http://188.254.16.92:7777/gateway/services/SID0003551?WSDL
Для задания корневого территориального органа для дальнейшей загрузки:
Необходимо в таблице organization найти необходимый территориальный орган:
Либо можно найти соответствующий орган государственной власти в интерфейсе Федерального реестра и узнать его идентификатор.
Далее, зная идентификатор орган государственной власти, необходимо проставить ему контрагента и внешний корневой идентификатор (как правило '00')
UPDATE organization SET owner_system_id='00', owner_code='fms',
WHERE id=123,
где:
owner_sysyem_id - внешний идентификтор (root code);
owner_code - код контрагента.
4.3.9 Запуск и остановка сервера приложений Федерального реестра
Для запуска сервера приложений Федерального реестра в ОС Windows запустите на выполнение: c:\Appserver3\bin\startup.bat.
Примечание.
|
|
В ОС Linux запустите на выполнение /Appserver3/bin/startup.sh.
|
Для остановки сервера приложений Федерального реестра в ОС Windows запустите на выполнение: c:\Appserver3\bin\shutdown.bat.
Примечание.
|
|
В ОС Linux запустите на выполнение /Appserver3/bin/shutdown.sh.
|
Особенности запуска в ОС Linux:
Для запуска всем файлам *.sh в каталоге bin необходимо установить привилегию запуска командой chmod ug+rwxX <�имя sh-файла>.sh.
В файле ..\Appserver3\bin\startup.sh сервера приложений нужно прописать перед строкой PRG="$0" следующую строку (зависит от того, в какой каталог был установлен компонент Java JDK):
JAVA_HOME=/usr/java
CATALINA_OPTS=-Djava.awt.headless=true -Xms1024m –Xmx4096m -XX:MaxPermSize=1024m -XX:PermSize=256m -Duser.language=ru_RU
# resolve links - $0 may be a softlink
PRG="$0"
4.3.10 Настройка раздела открытых данных
Настройки, связанные с разделом открытых данный, должен производить пользователь с ролью superuser. Например, это может быть пользователь postgres.
Перед запуском скрипта с настройками открытых данных необходимо убедиться в корректности настройки переменной system_properties.STORAGE_ROOT_DIRECTORY_PATH
Следующим шагом будет запуск скрипта, хранящегося в db/utilscripts/createFilesFromBlob.sql.
Проверкой успешного завершения работы скрипта будут три появившихся типовых набора открытых данных на закладке Открытые данные Федерального реестра (см. Рисунок 4 .35).
Рисунок 4.35 – Раздел «Открытые данные»
4.3.11 Настройка системы кластеризации и балансировки нагрузки реестра
4.3.11.1 Общая схема кластеризации и балансировки нагрузки в РГУ
На рисунке ниже (см. Рисунок 4 .36) приведена общая схема кластеризации и балансировки нагрузки в РГУ.
Рисунок 4.36 – Архитектурная схема кластеризации и балансировки нагрузки реестра
Схема включает в себя следующие компоненты:
nginx – HTTP-сервер и обратный прокси-сервер, осуществляющий кластеризацию и балансировку запроса клиента.
Экземпляры контейнеров сервлетов Tomcat – сервера приложений Реестра.
На каждом сервере БД (db server 1..N) развернуты базы данных федерального реестра и реестров отдельных регионов.
Как видно из схемы (см. Рисунок 4 .36), клиент отсылает запрос на сервер nginx, который осуществляет дальнейшую маршрутизацию на основании информации из cookies запроса. Конкретный узел кластера принимает и обрабатывает запрос на основании данных, содержащихся в БД. Стоит отметить, что базы данных не связаны между собой и по сути хранят данных различных регионов (одного или нескольких сразу).
4.3.11.2 Настройка кластеризованной среды серверов приложений Tomcat
Для того, чтобы сервер Tomcat стал узлом кластера, необходимо выполнить следующие действия:
Внесите изменения в файл appserver/conf/server.xml.
Добавьте в тэг следующие параметры:
"org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8">
"org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" />
"org.apache.catalina.tribes.group.GroupChannel">
"org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
"org.apache.catalina.tribes.transport.ReplicationTransmitter">
"org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
"org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/>
"org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
"org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
"org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
"org.apache.catalina.ha.session.JvmRouteBinderValve"/>
"org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
"org.apache.catalina.ha.session.ClusterSessionListener"/>
Сохраните файл.
Запустите сервер вновь.
4.3.11.3 Настройка nginx для проксирования запросов клиента
Nginx осуществляет проксирование запросов от клиентов с целью балансировки нагрузки на узлы кластера, а также обеспечивает доступность сервисов реестра в целом.
Настройте nginx для проксирования запросов клиента. Для этого внесите следующие параметры внутрь раздела http {} в файле nginx.conf
upstream samara {
server localhost:8080;
server localhost:8088 backup;
}
upstream center {
server localhost:8080;
server localhost:8088 backup;
}
server {
listen listen_port;
server_name www.rgu.ru;
set $node center;
if ($cookie_territory = 1028) {
set $node samara;
}
location / {
resolver 127.0.0.1;
proxy_pass http://$node;
proxy_set_header Host $host;
}
}
где:
listen_port = 8090 – порт, который будет слушать nginx;
server_name www.rgu.ru - любое название;
$node center – по умолчанию запрос пойдет на узел федерального реестра;
$cookie_territory = 1028 - идентификатор справочника territory, 1028 соответствует Самаре;
$node samara - отправляем запрос на узел самарского реестра.
Пример приведен для федерального и самарского регионального реестров.
Здесь стоит отметить, что количество параметров server в upstream может быть любым, в этом случае nginx будет отправлять запросы по алгоритму round robbin.
Параметр backup означает, что сервер будет принимать запросы только в том случае, когда один из основных узлов перестал функционировать.
Для того, чтобы добавить новый регион, необходимо дописать if ($cookie_territory = territory_id) { set $node upstream_name; } с заданными идентификатором территории territory_id, и новым именем узла upstream_name.
|