我是一名系统管理员,并且是Redis的新手,我试图了解我必须为我的开发部门部署Redis的哪些实现选项。
我阅读了一些文档,但是我对带有Redis的HA群集有些困惑,似乎Redis从2.x到4.x版本已经发展,我发现的很多方法都指向2.x。
让我解释一下我的理解,请他人纠正或确认。
- 最新的(4.x)最佳实践,最少的群集实施需要3台服务器,每台服务器上都运行一个主节点和一个从节点,每个从节点是在不同服务器上运行的主节点的辅助节点。
- 母版上的密钥被平均分片,以便在其上分配数据
- 如果主节点发生故障,则其从属节点将成为主节点,而无需外部干预(不需要哨兵),因为3个节点的法定人数为2(n-1个规则)并且可以提升从属节点。
- 这种设置需要一个专门支持redis集群的客户端,就像带-c选项的redis-cli一样(例如,我发现https://lettuce.io/可以做到这一点),因此它不需要哨兵或代理(https://github.com/twitter/twemproxy)在群集的前面,只是一个支持群集的客户端。
正确吗?错误?
如果我的开发团队因为向后兼容而无法使用支持客户端群集的怎么办?我可以实现集群的另一种体系结构(也许使用redis 2.8和哨兵吗?或者也可以使用4.x吗?)将集群暴露给客户端,就像只有一台服务器一样?
谢谢