前言
前面我们讲到redis主从架构实现了读水平扩展。后面针对主从+哨兵介绍了第一套企业redis高可用架构的实现方案。那们主从+哨兵有没有缺点呢?答案肯定是存在一定的缺陷的,比如仅有一个master节点对于写请求的扩展支持的不太友好。
下面我们就要讲到第二套redis企业级架构方案:redis cluster。
图解
redis cluster简单介绍
(1)自动将数据分片,每个master上存放一部分数据。
(2)提供内置的高可用支持,部分master不可用时还可以继续工作。
(3)在redis cluster架构下 redis要开放两个端口号 一个用来提供服务一个用来进行节点间通信。
(4)slave自动迁移:比如你有10个master 每个master有一个slave,然后你又新增3个slave作为冗余,有三个master就有两个slave,此时如果只有一个slave的master node的slave节点挂了,会选择一个冗余的slave节点给这个master节点作为新的slave节点。
上面提到的分片redis是如何实现的呢?redis的路由策略是如何实现的?
redis cluster的hash slot算法: 整个cluster有