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