「REDIS」- 集群及高可用性

# TODO Redis 集群架设和使用、Cluster、监控
Redis 3.2.1集群搭建

Redis 的集群模式两种:
1)主从模式:
2)集群模式:

#2 集群模式

集群模式是为了解决内存瓶颈的问题,将数据分布在不同的Redis节点上。

一个 Redis 集群包含 16384 个哈希槽,集群中的每个节点负责处理一部分哈希槽:

  • 节点 A 负责处理 0 号至 5500 号哈希槽
  • 节点 B 负责处理 5501 号至 11000 号哈希槽
  • 节点 C 负责处理 11001 号至 16384 号哈希槽

使用这种做法:

  • 添加节点时,可以将某些槽移动到新节点就可以了
  • 删除节点时,将某些槽从节点中移出就可以了

即使是5主5从,节点也是16384个槽,而不是“主节点增加,槽数也增加”。分槽是要平均的分配给主节点。将KEY分布在哪个槽中是根据“CRC16%16384“得出的

主节点要部署在不同的主机上。当主节点故障时,从节点会继续承担写的任务。

集群节点之间通过GOSSIP协议通讯。

当前Redis集群不支持NAT和IP、端口重新映射的环境。

这种模式适用于数据量巨大的场景,数据量较少时使用「主从复制 + Sentinel」即可。

相关链接

Redis Cluster Specification

中间件(Middleware)

twemproxy

GitHub/twitter/twemproxy

Codis

GitHub/CodisLabs/codis

由豌豆夹出品。「redis cluster及codis之间该如何选择?

参考文献

Redis各种模式总结
redis的三种集群方式