Совместное использование сеанса между приложением Spring Boot и PHP с использованием Redis - PullRequest
0 голосов
/ 16 января 2019

У нас много страниц, которые уже работают на PHP (ядро) и требуют очень частых (и внезапных) изменений. Поэтому мы не хотели бы полностью переносить нашу кодовую базу на Java. Я пытался создать архитектуру, в которой мы могли бы иметь некоторую часть обработки бизнес-логики (которая требует более прочной основы) в Spring Boot, а остальная часть (особенно часть отчетности) оставалась в PHP.

Теперь я хочу поделиться сессией между уже существующими PHP-приложениями и приложением, которое я сейчас пишу в Spring Boot. Я настроил это приложение для запуска с Spring Session с использованием Redis. Я не могу и не хочу использовать табличную реализацию для управления сеансами из-за ограниченного количества ресурсов на нашем сервере баз данных.

Моя конфигурация для использования Redis с Spring Spring Boot выглядит следующим образом:

spring.session.store-type=redis
spring.redis.host=localhost
spring.redis.password=#somepasswordhere
spring.redis.port=6379
server.servlet.session.timeout=20m
spring.session.redis.flush-mode=on_save
spring.session.redis.namespace=SPRING_SESSION

spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.min-idle=16
spring.redis.timeout=1s

Мне также удалось настроить PHP для использования сервера Redis в качестве хранилища данных для управления сеансами.

Я хотел бы знать, есть ли какой-нибудь способ, где у меня может быть общий сеанс для двух, то есть где одно приложение в PHP может получить доступ к значениям (и другим его свойствам, таким как срок действия / срок действия), установленным для сеанса с помощью другое приложение в Spring Boot и наоборот?

Кроме того, я знаю, что это было бы не по теме, но любые предложения по более эффективной конфигурации Redis также приветствуются здесь для части Spring Session.

...