Redis Cluster 集群方案(服务端 Sharding 技术)
Redis Cluster是 3.0 版本开始正式提供的服务器 Sharding技术。引入 slot(槽)的概念,整个集群共有 16384 个槽。根据 key 进行散列(CRC16 后 16384 取模),分配到其中一个槽当中。
2.Redis Sharding 集群(客户端 Sharding 技术)
Redis Sharding出现先与 Redis Cluster方案,他是多 Redis 实例集群方案。
客户端 Sharding 方式,该向哪个 Redis 节点操作数据,由客户端来进行控制。服务端 Redis还是一个个相对独立的Redis 实例节点,没有做任何变动。节点选择可采用的方法:一致性 hash 算法或者虚拟节点算法。
Twemproxy 中间件实现
Twemproxy 就是一种中间件 Sharding 分片的技术,处于客户端和服务器的中间,将客户端发来的请求,进行一定的处理后(如 Sharding),再转发给后端真正的 Redis 服务器。
也就是说,客户端不直接访问 Redis 服务器,而是通过 Twemproxy 代理中间件间接访问。