1、codis架构如下:
![](https://images2015.cnblogs.com/blog/540235/201610/540235-20161003111040145-914196372.png)
(1)Codis是一整套缓存解决方案,包含高可用、数据分片、监控、动态扩态 etc.。走的是 Apps->代理->redis cluster,一定规模后基本都采用这种方式。
(2)Codis引入了Group的概念,每个Group包括1个Redis Master及至少1个Redis Slave,这是和Twemproxy的区别之一。这样做的好处是,如果当前Master有问题,则运维人员可通过Dashboard“自助式”切换到Slave,而不需要小心翼翼地修改程序配置文件。
为支持数据热迁移(Auto Rebalance),出品方修改了Redis Server源码,并称之为Codis Server。
Codis采用预先分片(Pre-Sharding)机制,事先规定好了,分成1024个slots(也就是说,最多能支持后端1024个Codis Server),这些路由信息保存在ZooKeeper中。
2、redis cluster集群架构如下:
![](https://images2015.cnblogs.com/blog/540235/201610/540235-20161003111043645-260252924.png)
Redis Cluster的成员管理(节点名称、IP、端口、状态、角色)等,都通过节点之间两两通讯,定期交换并更新。
相关文章:
Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑
Redis常见集群方案、Codis实践及与Twemproxy比较
高效运维最佳实践(03):Redis集群技术及Codis实践