Ber*_*hor 8 spring caching spring-security redis amazon-elasticache
我正在使用Spring和Spring Security,并希望使用Spring-session-data-redis和RedisHttpSessionConfiguration来在redis上存储会话ID(因此当webapp失败并切换到另一台服务器时,客户端不会丢失会话).
我的问题,当Redis服务器关闭时会发生什么?在Redis重新启动之前,Spring是否可以通过在内存中存储会话来继续工作?有没有办法这样配置?
我在AWS ElastiCache上使用Redis,故障转移可能需要几分钟才能在DNS上配置替换主节点.
据我所知,您将需要提供CacheErrorHandler(javadoc)的实现。
您可以通过提供一个Configuration实例来实现此目的,该实例实现CachingConfigurer并重写该errorHandler()方法。
例如:
@Configuration
@Ena1bleCaching
public class MyApp extends SpringBootServletInitializer implements CachingConfigurer {
@Override
public CacheErrorHandler errorHandler() {
return MyAppCacheErrorHandler();
}
}
Run Code Online (Sandbox Code Playgroud)
我不清楚您将如何提供不间断的服务 - 如果不复制故障转移缓存中的当前会话,这似乎是不可能的。
如果您使用 ElasticCache,是否可以让 AWS 为您处理复制设置,以便在一个节点发生故障时,另一个节点可以接管?
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |