在Redis Cluster方案正式发布前,业界已经广泛使用的Codis的集群方案。
Codis集群包含4类关键组件:
- codis server:进行二次开发的Reids实例,增加额外的数据结构,支持数据迁移操作,主要负责处理具体的数据读写清求。
- codis proxy:接收客户端请求,并把请求转发给codis server,兼容Redis单实例客户端直接连接。
- zookeeper集群:保存集群元数据,数据位置信息和codis proxy,提供高可用集群保障
- codis dashboard和codis fe:集群管理工具,codis dashboard负现执行集群管理工作,包括增删codis server、codis proxy实例和进行数据迁移。codis fe负责提供dashboard的Web管理操作界面。
Codis 和 Redis Cluster方案对比:
从业务应用客户端的兼容性来看,连接单实例的客户端可以不需要做额外的开发直接连接codis proxy,实现集群方案,如果使用Redis Cluster客户端需要做相应的开发新功能。
Codis Server 是基于Redis 3.2.8开发的,所以Codis并不支持Redis后续版本的新命令和数据类型,以及事务相关的命令。