gpt4 book ai didi

Redis 上的 Spring session - Redis 宕机时的故障转移是什么

转载 作者:IT王子 更新时间:2023-10-29 05:56:29 24 4
gpt4 key购买 nike

我正在使用 Spring 和 Spring Security,并希望将 spring-session-data-redis 与 RedisHttpSessionConfiguration 结合使用,以便在 redis 上存储 session ID(这样当 webapp 失败并切换到另一台服务器时,客户端不会丢失他们的 session )。

我的问题是,当 Redis 服务器宕机时会发生什么?spring 是否可以通过将 session 存储在内存中来继续工作,直到 Redis 恢复正常?有没有办法这样配置?

我在 AWS ElastiCache 上使用 Redis,故障转移可能需要几分钟才能在 DNS 上配置替换主节点。

最佳答案

据我所知,您需要提供 CacheErrorHandler ( javadoc ) 的实现。

您可以通过提供一个 Configuration 实例来做到这一点,该实例实现了 CachingConfigurer,并覆盖了 errorHandler() 方法。

例如:

@Configuration
@Ena1bleCaching
public class MyApp extends SpringBootServletInitializer implements CachingConfigurer {

@Override
public CacheErrorHandler errorHandler() {

return MyAppCacheErrorHandler();
}

}

我不清楚你将如何提供不间断的服务——如果不在你的故障转移缓存中复制当前 session ,这似乎是不可能的。

如果您使用的是 ElasticCache,是否无法让 AWS 为您处理复制设置,这样如果一个节点发生故障,另一个节点可以接管?

关于Redis 上的 Spring session - Redis 宕机时的故障转移是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33416533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com