Многосерверная конфигурация
Для работы с многосерверной конфигурацией необходимо в application.properties задать:
Настройки для работы с одной СУБД Postgres, указав:
Службой для создания межпроцессовых кэшей является Redis. В разделе Redis Settings задать:
при этом Redis должен быть запущен как Служба Windows или установлен в Docker. Запустить Redis в Docker можно командой: docker run --name redis -p 6379:6379 -d redis debug.
Для взаимодействия между нодами используется Eureka, в разделе Service Discovery отредактировать при необходимости:
Запустить Service Discovery
Запустить PassOfficeSrv.bat
Запустить 2 сервер PassOfficeSrv.bat, предварительно указав в файле application.properties другие порт и instance_id
Выполнить вход в Бюро пропусков под разными операторами, все действия и изменения одного пользователя будут отображаться у другого и наоборот.
Обратите внимание, сделегированные лидерскому узлу задачи попадают в канал Redis, который имеет буфер размером 8 мегабайт (значение по-умолчанию). В случае переполнения буфера соединение с лидером может быть закрыто. Во избежание данного вида проблем, есть возможность настройки размера буфера. Достаточно в конфигурационный файл redis.conf добавить следующую настройку:
Дополнительная информация находится по ссылке: https://redis.io/docs/reference/clients/#:~:text=Pub%2FSub%20clients%20have%20a,64%20megabyte%20per%2060%20seconds.
Для корректной работы всех возможностей PassOffice в многосерверной конфигурации, необходимо включить поддержку "липких сессий" (sticky sessions) на стороне балансировщика нагрузки.
Подробная информация по настройке Nginx в разделе «Enabling Session Persistence»: https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/
Last updated