Spring Session Redis с Sticky-сеансом на стороне сервера для журнала
Привет, я настроил Redis в моем проекте Spring для использования Spring Session, я использую Jedis 2.9.0, и он работает хорошо. У меня проблема с сеансом Sticky на Websphere Server, у нас есть 2 основных сервера и 10 клонов на каждом, при обычном httpSession он использует cookie для повторной обработки запроса этого cookie на тот же сервер, хорошо, но с Spring Сессия это не работает так же.
Spring создает cookie с именем "SESSION", а балансировка нагрузки Websphere не знает, куда перенаправить запрос, потому что сеанс находится не в JVM, а распределен в Redis Cluster.
мне нужно (для порядка логирования porpuse) обрабатывать каждый запрос куки "abc123" к серверу 1 клон 3, например, и если этот экземпляр приложения переходит отслеживать этот куки в другой экземпляр и оставаться на этом экземпляре, пока сервер не выйдет вниз или пользователь вышел...
Ища здесь и документ Spring Session, я нашел кое-что, что могло бы быть полезным, но я не знаю, как это работает.
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("JSESSIONID");
serializer.setCookiePath("/");
serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$");
serializer.setJvmRoute("123");
return serializer;
}
Атрибут Jvm Route добавляет к cookie суффикс, чтобы узнать, что такое JVM, которая обрабатывает этот cookie, но я не знаю, как он работает, и мне не повезло найти примеры или объяснения по этому поводу.
если у кого-то есть ответ или другой способ, которым я могу воспользоваться, это будет здорово.