Codis是豌豆荚使用Go和C语言开发、以代理的方式实现的1个Redis散布式集群解决方案,且完全兼容Twemproxy。Twemproxy对上1层的利用来讲, 连接Codis Proxy(Redis代理服务)和连接原生的Redis服务器没有明显的区分,上1层利用能够像使用单机的 Redis1样对待。Codis底层会处理要求的转发、不停机的数据迁移等工作, 所有底层的1切处理, 对客户端来讲是透明的。总之,可以简单的认为后台连接的是1个内存无穷大的Redis服务。Codis遵守MIT开源协议发布,更多关于Codis的信息请登录其在GitHub的主页查看。
Codis 是1个散布式 Redis 解决方案, 对上层的利用来讲, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区分 (不支持的命令列表), 上层利用可以像使用单机的 Redis 1样使用, Codis 底层会处理要求的转发, 不停机的数据迁移等工作, 所有后边的1切事情, 对前面的客户端来讲是透明的, 可以简单的认为后边连接的是1个内存无穷大的 Redis 服务.
Codis 由4部份组成:
Codis Proxy (codis-proxy)
Codis Manager (codis-config)
Codis Redis (codis-server)
ZooKeeper
架构图:
项目地址:
https://github.com/wandoulabs/codis
中文说明文档:
https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md
Redis 开源集群方案:
http://www.infoq.com/cn/news/2014/11/open-source-redis-cache
Redis 3.0 rc4已发布了,也是1种方案可以研究下,线上系统不建议使用。
参考文档:
https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md#build-codis-proxy