PC via queues — различия между версиями
(→pc-dmz-queue) |
|||
(не показаны 22 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
=Описание= | =Описание= | ||
+ | Описание схемы встраивания, в которой используются очереди, доступно по ссылке: | ||
+ | |||
+ | https://repo.paycontrol.org/server/doc/latest/pc-handbook/ru/#использование-очередей-для-ограничения-соединений-от-pce-к-pcs. | ||
+ | |||
+ | |||
+ | Экземпляр RabbitMQ, в котором будут автоматически созданы две очереди, загружается и разворачивается заказчиком. | ||
+ | |||
+ | Загрузить RabbitMQ можно на сайте: https://www.rabbitmq.com | ||
+ | |||
+ | Для корректной работы с очередями нужно создать админ-пользователя помимо guest и настроить подключение через этого нового пользователя. | ||
+ | |||
+ | |||
Приложение состоит из двух модулей: | Приложение состоит из двух модулей: | ||
− | * для зоны DMZ - ''pc-dmz | + | * для зоны DMZ - ''pc-queue-dmz-1.0.jar''; |
* для внутренней сети ''pc-queue-lan-1.0.jar''. | * для внутренней сети ''pc-queue-lan-1.0.jar''. | ||
− | |||
− | |||
=Файлы для запуска= | =Файлы для запуска= | ||
Строка 14: | Строка 24: | ||
''WorkingDirectory=/opt/clientSide'' - директория в которой располагается исполняемый файл конкретного приложения | ''WorkingDirectory=/opt/clientSide'' - директория в которой располагается исполняемый файл конкретного приложения | ||
− | ''ExecStart=java -Xms256m -Xmx512m -jar /opt/clientSide/ | + | ''ExecStart=java -Xms256m -Xmx512m -jar /opt/clientSide/clientSide-1.0.jar /opt/clientSide/application.yml'' - строка для запуска приложения |
Также необходимо обратить на пути до приложения и файла настроек | Также необходимо обратить на пути до приложения и файла настроек | ||
Строка 23: | Строка 33: | ||
==pc-dmz-queue== | ==pc-dmz-queue== | ||
===Windows=== | ===Windows=== | ||
− | Распакуйте архив в корень диска, так, чтобы файл winsw.exe был доступен по пути C:\pc-dmz-queue\winsw.exe | + | Распакуйте архив в корень диска, так, чтобы файл ''winsw.exe'' был доступен по пути ''C:\pc-dmz-queue\winsw.exe'' |
В командной строке выполните следующие команды | В командной строке выполните следующие команды | ||
<source lang="cmd"> | <source lang="cmd"> | ||
− | cd C:\pc-dmz | + | cd C:\pc-queue-dmz\ |
− | winsw.exe install pc-dmz | + | winsw.exe install pc-queue-dmz-1.0.jar |
</source> | </source> | ||
− | Логи | + | Логи пишутся в ''C:\pc-queue-dmz\''. |
− | Созданной службой можно | + | |
− | Настройка подключений производится в application.yml. | + | Созданной службой можно управлять из приложения Службы(Services). |
+ | |||
+ | Настройка подключений производится в ''application.yml''. | ||
===Linux=== | ===Linux=== | ||
Создать папку | Создать папку | ||
<source lang="bash"> | <source lang="bash"> | ||
− | mkdir /opt/pc-dmz | + | mkdir /opt/pc-queue-dmz |
</source> | </source> | ||
В настройках файлов `.service` указать пользователя wildfly или создать нового, с аналогичными параметрами. | В настройках файлов `.service` указать пользователя wildfly или создать нового, с аналогичными параметрами. | ||
<source lang="bash"> | <source lang="bash"> | ||
groupadd -r username | groupadd -r username | ||
− | useradd -r -g username -d /opt/pc-dmz | + | useradd -r -g username -d /opt/pc-queue-dmz -s /sbin/nologin username |
</source> | </source> | ||
Предоставить доступ на запуск файлу start.sh | Предоставить доступ на запуск файлу start.sh | ||
Строка 52: | Строка 64: | ||
<source lang="bash"> | <source lang="bash"> | ||
sudo cp -v pc-dmz-queue.service /etc/systemd/system/ | sudo cp -v pc-dmz-queue.service /etc/systemd/system/ | ||
− | sudo systemctl enable pc-dmz | + | sudo systemctl enable pc-queue-dmz.service |
− | sudo systemctl start pc-dmz | + | sudo systemctl start pc-queue-dmz.service |
</source> | </source> | ||
Для просмотра журнала работы сервиса необходимо использовать | Для просмотра журнала работы сервиса необходимо использовать | ||
<source lang="bash"> | <source lang="bash"> | ||
− | journalctl -u pc-dmz | + | journalctl -u pc-queue-dmz.service |
</source> | </source> | ||
==pc-queue-lan== | ==pc-queue-lan== | ||
+ | ===Windows=== | ||
+ | Распакуйте архив в корень диска, так, чтобы файл ''winsw.exe'' был доступен по пути ''C:\pc-queue-lan\winsw.exe'' | ||
− | = | + | В командной строке выполните следующие команды |
+ | <source lang="cmd"> | ||
+ | cd C:\pc-queue-lan\ | ||
+ | winsw.exe install pc-queue-lan-1.0.jar | ||
+ | </source> | ||
+ | |||
+ | Логи пишутся в ''C:\pc-queue-lan\''. | ||
+ | |||
+ | Созданной службой можно управлять из приложения Службы(Services). | ||
+ | |||
+ | Настройка подключений производится в ''application.yml''. | ||
===Linux=== | ===Linux=== | ||
Строка 99: | Строка 123: | ||
Можно уточнить сетевой порт и адрес, который будет слушать модуль. | Можно уточнить сетевой порт и адрес, который будет слушать модуль. | ||
<source lang="yml"> | <source lang="yml"> | ||
− | + | server: | |
− | + | port: 8090 | |
− | + | address: 0.0.0.0 | |
</source> | </source> | ||
Строка 109: | Строка 133: | ||
Модули работают с брокером RabbitMQ. Пример параметров подключения: | Модули работают с брокером RabbitMQ. Пример параметров подключения: | ||
<source lang="yml"> | <source lang="yml"> | ||
− | + | spring: | |
− | + | rabbitmq: | |
− | + | username: exampleuser | |
− | + | password: examplepass | |
− | + | virtual-host: / | |
− | + | host: example.rabbit.loc | |
− | + | port: 5672 | |
</source> | </source> | ||
Строка 121: | Строка 145: | ||
Адрес и порт сервера PCS: | Адрес и порт сервера PCS: | ||
<source lang="yml"> | <source lang="yml"> | ||
− | + | paycontrol: | |
− | + | url: example.pcs.loc | |
− | + | port: 8080 | |
</source> | </source> | ||
Строка 131: | Строка 155: | ||
* Linux - `/opt/wildfly/bin/standalone.conf` | * Linux - `/opt/wildfly/bin/standalone.conf` | ||
* Windows - `wildfly\bin\standalone.conf.bat` | * Windows - `wildfly\bin\standalone.conf.bat` | ||
− | в параметрах переменных окружения, вместо адреса сервера PCS задать адрес модуля pc-dmz | + | в параметрах переменных окружения, вместо адреса сервера PCS задать адрес модуля pc-queue-dmz, например: |
===v3=== | ===v3=== | ||
Строка 139: | Строка 163: | ||
===v5=== | ===v5=== | ||
<source lang="bash"> | <source lang="bash"> | ||
− | - | + | -Dpc_url=http://localhost:8090/pc-api/ |
</source> | </source> | ||
При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server. | При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server. | ||
+ | |||
==Настройка PC Server== | ==Настройка PC Server== | ||
Внесение настроек на сервер PC Server не требуется. | Внесение настроек на сервер PC Server не требуется. |
Текущая версия на 17:38, 22 июня 2023
Содержание
Описание
Описание схемы встраивания, в которой используются очереди, доступно по ссылке:
Экземпляр RabbitMQ, в котором будут автоматически созданы две очереди, загружается и разворачивается заказчиком.
Загрузить RabbitMQ можно на сайте: https://www.rabbitmq.com
Для корректной работы с очередями нужно создать админ-пользователя помимо guest и настроить подключение через этого нового пользователя.
Приложение состоит из двух модулей:
- для зоны DMZ - pc-queue-dmz-1.0.jar;
- для внутренней сети pc-queue-lan-1.0.jar.
Файлы для запуска
Linux
Файлы запуска имеют разрешение .service.
Для корректной работы приложения необходимо их отредактировать под конкретное окружение.
WorkingDirectory=/opt/clientSide - директория в которой располагается исполняемый файл конкретного приложения
ExecStart=java -Xms256m -Xmx512m -jar /opt/clientSide/clientSide-1.0.jar /opt/clientSide/application.yml - строка для запуска приложения
Также необходимо обратить на пути до приложения и файла настроек
User=pcontrol - пользователь под которым будет запускаться приложение.
Установка
pc-dmz-queue
Windows
Распакуйте архив в корень диска, так, чтобы файл winsw.exe был доступен по пути C:\pc-dmz-queue\winsw.exe
В командной строке выполните следующие команды
cd C:\pc-queue-dmz\
winsw.exe install pc-queue-dmz-1.0.jar
Логи пишутся в C:\pc-queue-dmz\.
Созданной службой можно управлять из приложения Службы(Services).
Настройка подключений производится в application.yml.
Linux
Создать папку
mkdir /opt/pc-queue-dmz
В настройках файлов `.service` указать пользователя wildfly или создать нового, с аналогичными параметрами.
groupadd -r username
useradd -r -g username -d /opt/pc-queue-dmz -s /sbin/nologin username
Предоставить доступ на запуск файлу start.sh
chmod +x start.sh
Скопировать файл сервиса, запустить его и включить автозапуск
sudo cp -v pc-dmz-queue.service /etc/systemd/system/
sudo systemctl enable pc-queue-dmz.service
sudo systemctl start pc-queue-dmz.service
Для просмотра журнала работы сервиса необходимо использовать
journalctl -u pc-queue-dmz.service
pc-queue-lan
Windows
Распакуйте архив в корень диска, так, чтобы файл winsw.exe был доступен по пути C:\pc-queue-lan\winsw.exe
В командной строке выполните следующие команды
cd C:\pc-queue-lan\
winsw.exe install pc-queue-lan-1.0.jar
Логи пишутся в C:\pc-queue-lan\.
Созданной службой можно управлять из приложения Службы(Services).
Настройка подключений производится в application.yml.
Linux
Создать папку
mkdir /opt/pc-queue-lan
В настройках файлов `.service` указать пользователя wildfly или создать нового, с аналогичными параметрами.
groupadd -r username
useradd -r -g username -d /opt/pc-queue-lan -s /sbin/nologin username
Предоставить доступ на запуск файлу start.sh
chmod +x start.sh
Скопировать файл сервиса, запустить его и включить автозапуск
sudo cp -v pc-queue-lan.service /etc/systemd/system/
sudo systemctl start pc-queue-lan.service
sudo systemctl enable pc-queue-lan.service
Для просмотра журнала работы сервиса необходимо использовать
journalctl -u pc-queue-lan.service
Конфигурирование модулей
Установка параметров работы модулей производится в файле application.yml.
Настройка входящих соединений
Можно уточнить сетевой порт и адрес, который будет слушать модуль.
server:
port: 8090
address: 0.0.0.0
0.0.0.0 - означает что модуль будет принимать все запросы на любых сетевых интерфейсах
Настройка подключения к брокеру очередей
Модули работают с брокером RabbitMQ. Пример параметров подключения:
spring:
rabbitmq:
username: exampleuser
password: examplepass
virtual-host: /
host: example.rabbit.loc
port: 5672
Настройка модуля pc-queue-lan для подключения к серверу PCS
Адрес и порт сервера PCS:
paycontrol:
url: example.pcs.loc
port: 8080
Настройка PC на работу через очередь
Настройка PC External
Для настройки PC External на отправку сообщений в очередь, необхоимо в файле
- Linux - `/opt/wildfly/bin/standalone.conf`
- Windows - `wildfly\bin\standalone.conf.bat`
в параметрах переменных окружения, вместо адреса сервера PCS задать адрес модуля pc-queue-dmz, например:
v3
-Dpcservice.endpoint=http://localhost:8090/ws/PayControlServiceV3?wsdl
v5
-Dpc_url=http://localhost:8090/pc-api/
При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server.
Настройка PC Server
Внесение настроек на сервер PC Server не требуется.