我正在使用Spring和Spring Security,并希望使用Spring-session-data-redis和RedisHttpSessionConfiguration来在redis上存储会话ID(因此当webapp失败并切换到另一台服务器时,客户端不会丢失会话)。
我的问题,当Redis服务器关闭时会发生什么? 在Redis重新启动之前,Spring是否可以通过在内存中存储会话来继续工作?有没有办法这样配置?
我在AWS ElastiCache上使用Redis,故障转移可能需要几分钟才能在DNS上配置替换主节点。
答案 0 :(得分:1)
据我所知,您需要提供CacheErrorHandler
(javadoc)的实施。
您可以通过提供实现Configuration
的{{1}}实例并覆盖CachingConfigurer
方法来实现此目的。
例如:
errorHandler()
你究竟如何提供不间断的服务对我来说并不清楚 - 如果不重复故障转移缓存中的当前会话,似乎是不可能的。
如果您正在使用ElasticCache,是否无法让AWS为您处理复制设置,以便在一个节点运行时,另一个节点可以接管?