使用Spring @EnableRedisHttpSession和主从配置

时间:2016-01-17 16:35:11

标签: java spring redis spring-cloud spring-session

我有一个基于Spring Cloud的应用程序,它有多个后端Spring-Boot服务器。服务器都通过@EnableRedisHttpSession与单个Redis服务器共享会话。

我现在要求Redis在生产中提供故障转移支持,这意味着我必须设置主从配置(我猜......)。

如何通过Redis配置Http Session复制以了解这两个服务器?我找不到任何关于此的文件。请注意,我没有在这里使用Spring Data Redis,只是Spring Session对Redis的支持。

1 个答案:

答案 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,马克