当前位置: 首页 > 知识库问答 >
问题:

Redis将单个实例slave(slave of)连接到集群或哨兵

羊舌赞
2023-03-14

当运行单个redis实例时,我可以使用“slave of”创建一个redis节点的只读副本(或任意多个)。

当使用redis集群时,我将数据拆分为Partitons(主),并可以为每个分区创建一个从分区。

如果在redis集群中不可能,那么在使用Sentinel时,这可能是一个有效的解决方案吗?

我们当前的问题:我们正在使用“从”特性和keepalived一起在主服务器中断时对redis实例进行故障转移。

但是我们有许多“从机的”从机连接到故障转移设置的虚拟IP,以传递缓存的数据。现在,每次系统故障转移(例如,出于维护原因),所有连接的从机都有一个长达30秒的超时时间,这时它们必须与新的主机重新同步它们的数据。

我们allready使用了所有可能的redis配置参数,但无法缩短同步时间(例如,通过依赖replication-backlog,这在故障转移后的新主机上是不可用的)。

有人有什么想法吗?

共有1个答案

史智志
2023-03-14

这里有一个非常好的文档:http://redis.io/presentation/redis_cluster.pdf,这里有http://fr.slideshare.net/nosqlmatters/no-sql-matters-bcn-2014(slide#9)或更好的https://www.javacodegeeks.com/2015/09/redis-clustering.html

如果你想要Redis集群模式下的“奴隶”,你需要使用所有节点的复制。

问候,

 类似资料:
  • 我在从Lambda函数连接Elasticache时遇到问题,我已完成以下操作: 创建了一个新的安全组 Internet正常工作,我通过打开URL验证stackoverflow.com。但是Elasticache自动发现超时。是否需要进行任何额外的配置? 更新I将安全组的入站规则添加到端口6379,现在仍然超时。

  • 由于单个redis实例不符合我的要求,我选择了redis cluster。我用三个节点组成集群,并将数据填充到集群中。当我使用JedisCluster从集群获取数据时,它比单个实例花费更多的时间。那么,将绝地与redis星系团连接起来的正确方式是什么呢。我如何利用连接池将绝地与redis集群连接起来?

  • 我已经从源代码安装和编译了Redis,并试图连接到Amazon ElastiCache(Redis)集群。 我可以毫无问题地连接到默认的本地主机,但尝试连接到AWSendpoint会导致无限的挂起。 默认情况下: 现在,这是连接到endpoint的尝试,来自AWS留档主题的副本: 这会无限挂起,而不会向stderr/stdout发出任何消息。 (请注意,这是一个endpoint名称示例;我已验证我

  • 当我试图按照以下部署指南连接到主节点时,我面临着MasternotFounderRorr:https://docs.bitnami.com/tutorials/deploy-redis-sentinel-production-cluster/ 连接主Redis Sentinel节点的代码是: 我面对红魔。哨兵。MasternotFounderRorr:没有为“MyMaster”错误找到master

  • 我试图与一个springboot应用程序连接到2个不同的redis实例:一个用作数据库,一个只用作缓存。我添加了不同的连接工厂和不同名称的redis模板,我使用@Qualifer来链接它们。我试图禁用从自动配置类RedisAutoConfiguration,但没有工作。 我总是收到这个错误: 包装人:org。springframework。豆。工厂UnsatifiedPendencyExcepti

  • 我使用spring boot data redis连接到redis群集,使用版本2.1.3,配置如下: 但是,在操作过程中,始终会收到警告异常消息,如下所示: 这似乎是莴苣的问题,如何映射远程主机