Перейти к содержанию

PC via queues: различия между версиями

Материал из PayControl Wiki
Новая страница: «=Описание= Приложение состоит из двух модулей: * для зоны DMZ - ''pc-dmz-queue-1.0.jar''; * для внутренне…»
 
 
(не показано 27 промежуточных версий этого же участника)
Строка 1: Строка 1:
=Описание=
=Описание=
Описание схемы встраивания, в которой используются очереди, доступно по ссылке:
https://repo.paycontrol.org/server/doc/latest/pc-handbook/ru/#использование-очередей-для-ограничения-соединений-от-pce-к-pcs.
Экземпляр RabbitMQ, в котором будут автоматически созданы две очереди, загружается и разворачивается заказчиком.
Загрузить RabbitMQ можно на сайте: https://www.rabbitmq.com
Для корректной работы с очередями нужно создать админ-пользователя помимо guest и настроить подключение через этого нового пользователя.
Приложение состоит из двух модулей:
Приложение состоит из двух модулей:
* для зоны DMZ - ''pc-dmz-queue-1.0.jar'';
* для зоны DMZ - ''pc-queue-dmz-1.0.jar'';
* для внутренней сети ''pc-queue-lan-1.0.jar''.
* для внутренней сети ''pc-queue-lan-1.0.jar''.
В папке unit располагаются файлы настроек и файлы для запуска приложений в системе Linux через systemctl.


=Файлы для запуска=
=Файлы для запуска=
Строка 14: Строка 24:
''WorkingDirectory=/opt/clientSide'' - директория в которой располагается исполняемый файл конкретного приложения
''WorkingDirectory=/opt/clientSide'' - директория в которой располагается исполняемый файл конкретного приложения


''ExecStart=java -Xms256m -Xmx512m -jar /opt/clientSide/serverSide-1.0.jar /opt/clientSide/application.yml'' - строка для запуска приложения
''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''
В командной строке выполните следующие команды
<source lang="cmd">
cd C:\pc-queue-dmz\
winsw.exe install pc-queue-dmz-1.0.jar
</source>
Логи пишутся в ''C:\pc-queue-dmz\''.
Созданной службой можно управлять из приложения Службы(Services).
Настройка подключений производится в ''application.yml''.


===Linux===
===Linux===
Создать папку
Создать папку
<source lang="bash">
<source lang="bash">
mkdir /opt/pc-dmz-queue
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-queue -s /sbin/nologin username
useradd -r -g username -d /opt/pc-queue-dmz -s /sbin/nologin username
</source>
</source>
Предоставить доступ на запуск файлу start.sh
Предоставить доступ на запуск файлу start.sh
Строка 41: Строка 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-queue.service
sudo systemctl enable pc-queue-dmz.service
sudo systemctl start pc-dmz-queue.service
sudo systemctl start pc-queue-dmz.service
</source>
</source>
Для просмотра журнала работы сервиса необходимо использовать  
Для просмотра журнала работы сервиса необходимо использовать  
<source lang="bash">
<source lang="bash">
journalctl -u pc-dmz-queue.service
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>


===Windows===
Логи пишутся в ''C:\pc-queue-lan\''.
 
Созданной службой можно управлять из приложения Службы(Services).
 
Настройка подключений производится в ''application.yml''.


===Linux===
===Linux===
Строка 88: Строка 123:
Можно уточнить сетевой порт и адрес, который  будет слушать модуль.
Можно уточнить сетевой порт и адрес, который  будет слушать модуль.
<source lang="yml">
<source lang="yml">
* server:
server:
   port: 8090
   port: 8090
   address: 0.0.0.0
   address: 0.0.0.0
</source>
</source>


Строка 98: Строка 133:
Модули работают с брокером RabbitMQ. Пример параметров подключения:
Модули работают с брокером RabbitMQ. Пример параметров подключения:
<source lang="yml">
<source lang="yml">
* spring:
spring:
   * rabbitmq:
   rabbitmq:
     * username: pcuser
     username: exampleuser
     * password: 1
     password: examplepass
     * virtual-host: /
     virtual-host: /
     * host: pctest5.loc
     host: example.rabbit.loc
     * port: 5672
     port: 5672
</source>
</source>


Строка 110: Строка 145:
Адрес и порт сервера PCS:
Адрес и порт сервера PCS:
<source lang="yml">
<source lang="yml">
* paycontrol:
paycontrol:
   * url: pctest5.loc
   url: example.pcs.loc
   * port: 8080
   port: 8080
</source>
</source>


Строка 120: Строка 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-queue, например:
в параметрах переменных окружения, вместо адреса сервера PCS задать адрес модуля pc-queue-dmz, например:


===v3===
===v3===
Строка 128: Строка 163:
===v5===
===v5===
<source lang="bash">
<source lang="bash">
-Dpcservice.endpoint=http://localhost:8090/pc-api/
-Dpc_url=http://localhost:8090/pc-api/
</source>
===v6===
<source lang="yml">
pc:
  external:
    server:
      url: http://localhost:8090/pc-api/
</source>
</source>


При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server.
При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server.
==Настройка PC Server==
==Настройка PC Server==
Внесение настроек на сервер PC Server не требуется.
Внесение настроек на сервер PC Server не требуется.

Текущая версия от 12:01, 8 октября 2025

Описание

Описание схемы встраивания, в которой используются очереди, доступно по ссылке:

https://repo.paycontrol.org/server/doc/latest/pc-handbook/ru/#использование-очередей-для-ограничения-соединений-от-pce-к-pcs.


Экземпляр 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/

v6

pc:
  external:
    server:
      url: http://localhost:8090/pc-api/

При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server.

Настройка PC Server

Внесение настроек на сервер PC Server не требуется.