redis的集群方案

redis 集群方案主要有两类,一是使用类 codis 的架构,按组划分,实例之间互相独立。另一套是基于官方的 redis cluster 的方案。

codis 架构

codis是一个豌豆荚团队开源的使用Go语言编写的Redis Proxy使用方法和普通的redis没有任何区别,设置好下属的多个redis实例后就可以了,使用时在本需要连接redis的地方改为连接codis,它会以一个代理的身份接收请求 并使用一致性hash算法,将请求转接到具体redis,将结果再返回codis,和之前比较流行的twitter开源的Twemproxy功能类似。

redis的集群方案_第1张图片
Codis.png

这套架构的特点:

  • 分片算法:基于 slot hash桶;
  • 分片实例之间相互独立,每组 一个master 实例和多个slave;
  • 路由信息存放到第三方存储组件,如 zookeeper 或etcd
  • 旁路组件探活

codis是目前用的最多的集群方案,codis一个比较大的优点是可以不停机动态新增或删除数据节点,旧节点的数据也可以自动恢复到新节点。

基于官方 redis cluster 的方案

redis的集群方案_第2张图片
Redis cluster.png
  • Redis官网推出,可线性扩展到1000个节点
  • 无中心架构
  • 一致性哈希思想
  • 客户端直连redis服务,免去了proxy代理的损耗

具体的redis cluster的搭建方案可以参考官方的搭建方案。

你可能感兴趣的:(redis的集群方案)