【问题标题】:Using Spring @EnableRedisHttpSession with master-slave configuration使用带有主从配置的 Spring @EnableRedisHttpSession
【发布时间】:2016-04-22 19:07:39
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    Spring Session Redis 使用 Spring Data Redis 与 Redis 集成,因此您可以使用 Redis Sentinel(请参阅http://redis.io/topics/sentinel)。为您提供全貌:

    Redis 允许托管(Redis Sentinel)和非托管主从设置。非托管设置不提供故障转移,而 Sentinel 托管设置在主节点关闭后对其进行故障转移。 Redis Sentinel 监控所有主/从节点,一旦主节点不可用,从节点将被提升为新的主节点。

    您可以使用以下属性为 Sentinel 配置 Spring Data Redis:

    • spring.redis.sentinel.master:主节点名称。
    • spring.redis.sentinel.nodes:以逗号分隔的主机:端口对列表。

    或者你提供一个自己的RedisConnectionFactory bean。有关详细信息,请参阅Spring Data Redis docs。

    HTH,马克

    【讨论】:

    • 非常感谢,我会调查的。所以为了清楚起见,不需要更改代码吗?只需在 aplication.properties 或 application.yml 中更新这两个属性?
    • 正确,无需更改代码(注意:自 Spring Data Redis 1.4+ 起支持 Redis Sentinel)
    • 我在第一个问题中添加了有关我的问题的信息,如果您能看一下并就解决方案提出建议,我将不胜感激......谢谢!
    • 谢谢,我打开了以下问题:stackoverflow.com/questions/35686670/…
    猜你喜欢
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2022-11-07
    • 1970-01-01
    • 2018-07-06
    • 2018-06-01
    相关资源
    最近更新 更多