我有一个基于Spring Cloud的应用程序,它有多个后端Spring-Boot服务器。服务器都通过@EnableRedisHttpSession与单个Redis服务器共享会话。
我现在要求Redis在生产中提供故障转移支持,这意味着我必须设置主从配置(我猜......)。
如何通过Redis配置Http Session复制以了解这两个服务器?我找不到任何关于此的文件。请注意,我没有在这里使用Spring Data Redis,只是Spring Session对Redis的支持。
答案 0 :(得分:2)
Spring Session Redis使用Spring Data Redis与Redis集成,因此您可以使用Redis Sentinel(请参阅http://redis.io/topics/sentinel)。为了给你全面的图片:
Redis允许托管(Redis Sentinel)和非托管主从设置。非托管设置不提供故障转移,而Sentinel托管设置在主节点关闭后会对其进行故障转移。 Redis Sentinel监控所有主/从节点,一旦主设备不可用,从设备将被提升为新的主设备。
您可以使用以下属性配置Spring Data Redis for Sentinel:
spring.redis.sentinel.master
:主节点的名称。spring.redis.sentinel.nodes
:以逗号分隔的主机:端口对列表。或者你提供了一个自己的RedisConnectionFactory
bean。有关详细信息,请参阅Spring Data Redis文档。
HTH,马克