sesiones sesion mvc manejo inicio ejemplo spring caching spring-security redis amazon-elasticache

spring - sesion - Sesión de primavera en Redis: ¿cuál es la conmutación por error cuando Redis no funciona?



spring session ejemplo (1)

Por lo que puedo ver, necesitarás proporcionar una implementación de CacheErrorHandler ( javadoc ).

Puede hacerlo proporcionando una instancia de Configuration , que implemente CachingConfigurer , y anule el método errorHandler() .

Por ejemplo:

@Configuration @Ena1bleCaching public class MyApp extends SpringBootServletInitializer implements CachingConfigurer { @Override public CacheErrorHandler errorHandler() { return MyAppCacheErrorHandler(); } }

No tengo muy claro exactamente CÓMO ofrecerá un servicio ininterrumpido; sin duplicar las sesiones actuales en su caché de conmutación por error, parece imposible.

Si está usando ElasticCache, ¿no es posible que AWS maneje una configuración replicada para usted, de modo que si un nodo pasa a ser doen, el otro puede hacerse cargo?

Estoy usando Spring and Spring Security y quiero usar spring-session-data-redis con RedisHttpSessionConfiguration para permitir el almacenamiento de identificadores de sesión en redis (para que los clientes no pierdan sus sesiones cuando falla la aplicación y se cambian a otro servidor).

Mi pregunta, ¿qué sucede cuando el servidor Redis no funciona? ¿Podrá la primavera seguir funcionando al almacenar la sesión en la memoria hasta que Redis vuelva a funcionar? ¿Hay alguna manera de configurar esto como tal?

Estoy usando Redis en AWS ElastiCache, y la conmutación por error puede demorar varios minutos antes de que se configure el nodo primario de reemplazo en el DNS.