Redis将单实例从站(从站)连接到集群或标记

时间:2016-09-02 09:05:00

标签: redis cluster-computing sentinel

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

使用redis群集时,我将数据拆分为Partitons(Masters),并为每个分区创建一个slave。

是否可以将此群集视为单个实例,并将“Slave”奴隶连接到此群集,该群集将保留群集中所有数据的副本,而不仅仅是连接节点的分区?

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

我们目前的问题: 我们正在使用“奴隶”功能和keepalived在主服务器中断时故障转移我们的redis实例。

但我们有很多“奴隶”奴隶连接到故障转移设置的虚拟IP,以提供缓存数据。 现在,每次系统故障转移时(出于维护原因,例如),当所有连接的从站必须与新主站重新同步数据时,所有连接的从站都有最多30秒的时间。

我们已经使用了所有可能的redis配置参数,但无法使这个同步时间更短(例如,依赖于复制后退日志,在故障转移后新主服务器上不可用)。

任何想法?

2 个答案:

答案 0 :(得分:0)

这是一个非常好的文档:http://redis.io/presentation/Redis_Cluster.pdfhttp://fr.slideshare.net/NoSQLmatters/no-sql-matters-bcn-2014(幻灯片#9)或更好https://www.javacodegeeks.com/2015/09/redis-clustering.html

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

此致

答案 1 :(得分:0)

好吧,我刚读过这篇文章:

https://seanmcgary.com/posts/how-to-build-a-fault-tolerant-redis-cluster-with-sentinel

作者使用Redis Cluster的单个主服务器,每个主服务器有2个从服务器,而不是一个服务器,他让Redis Sentinel负责在主服务器关闭时选择主服务器。

您可以使用此设置来查看Master的选举是否快速发生。当它发生时,客户将由奴隶服务,并且不应经历停机。