我是一个系统管理员和Redis的新人,我正在努力了解我必须为我的开发部署Redis的实现选项 .

我读了一些文档,但是我对使用redis的HA集群有点困惑,似乎从版本2.x到4.x的redis进化了,我找到的许多howtos指的是2.x.

让我解释一下我的理解,请有人纠正或确认 .

  • 当前(4.x)最佳实践最小集群实现需要3个服务器,每个服务器运行主节点和从节点,每个从节点是在不同服务器上运行的主节点的辅助节点 .

  • 主服务器上的密钥均匀分片,因此数据分布在它们上面

  • 如果主站发生故障,其从站将成为主站而无需外部干预(不需要前哨),因为3个节点的法定数量为2(n-1规则)并且可以提升从站 .

  • 这种设置需要一个专门支持redis集群的客户端,如带有-c选项的redis-cli(例如我发现https://lettuce.io/可以这样做)所以它不需要前面的哨兵或代理(https://github.com/twitter/twemproxy)集群,只是一个支持集群的客户端 .

正确?错误?如果我的devteam无法使用客户端群集感知因为向后兼容性怎么办?我可以实现另一个集群架构(使用redis 2.8和sentinel吗?或者也可以用4.x完成?),将集群暴露给客户端,就像有一台服务器一样?

谢谢