У нас есть много страниц, которые уже работают на 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.
Задача ещё не решена.
Других решений пока нет …