Redis集群方案(codis)

一、Redis之codis解决方案

http://blog.csdn.net/dc_726/article/details/47052607

http://blog.csdn.net/yanggd1987/article/details/46825895


1、关于豌豆荚开源的Codis

Codis是豌豆荚使用Go和C语言开发、以代理的方式实现的一个Redis分布式集群解决方案,且完全兼容Twemproxy。Twemproxy对于上一层的应用来说, 连接Codis Proxy(Redis代理服务)和连接原生的Redis服务器没有明显的区别,上一层应用能够像使用单机的 Redis一样对待。Codis底层会处理请求的转发、不停机的数据迁移等工作, 所有底层的一切处理, 对于客户端来说是透明的。总之,可以简单的认为后台连接的是一个内存无限大的Redis服务。Codis遵循MIT开源协议发布,更多关于Codis的信息请登录其在GitHub的主页查看。

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.

Codis 由四部分组成:

Codis Proxy (codis-proxy) 
Codis Manager (codis-config) 
Codis Redis (codis-server) 
ZooKeeper

架构图: 
Redis集群方案(codis)_第1张图片

项目地址: 
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已经发布了,也是一种方案可以研究下,线上系统不建议使用。



2、安装go语言环境

yum install mercurial

yum install git

yum install gcc
然后就可以下载golang的压缩包了
下载1.4版本zip包: https://github.com/golang/go/tree/release-branch.go1.4
或者: git clone   https://github.com/golang/go.git  -b release-branch.go1.4
unzip go-release-branch.go1.4.zip
cd /root/go-release-branch.go1.4/src
 ./all.bash

Redis集群方案(codis)_第2张图片
接着我们要添加环境变量
vi /etc/profile
Redis集群方案(codis)_第3张图片

然后我们刷新环境变量
source /etc/profile
Redis集群方案(codis)_第4张图片


go get github.com/tools/godep(get完包则被下载到GOPATH/src下面)

go install github.com/tools/godep(install完包则godep命令被下载到GOPATH/bin下面)
Redis集群方案(codis)_第5张图片


Redis集群方案(codis)_第6张图片


zookeeper搭建:
./zookeeper-3.4.6/bin/zkServer.sh start
Redis集群方案(codis)_第7张图片



Redis集群方案(codis)_第8张图片


vim config.ini 
Redis集群方案(codis)_第9张图片

Redis集群方案(codis)_第10张图片



Redis集群方案(codis)_第11张图片


Redis集群方案(codis)_第12张图片


/usr/local/codis/src/github.com/wandoulabs/codis/bin/codis-config -c /usr/local/codis/src/github.com/wandoulabs/codis/config.ini server add 1 172.31.2.14:6380 master

Redis集群方案(codis)_第13张图片



Redis集群方案(codis)_第14张图片


 /usr/local/codis/src/github.com/wandoulabs/codis/bin/codis-config -c /usr/local/codis/src/github.com/wandoulabs/codis/config.ini slot init




http://navyaijm.blog.51cto.com/4647068/1637688?utm_source=tuicool&utm_medium=referral



使用make menuconfig --debug -w --just-print命令,不执行操作仅调试


/usr/local/codis/src/github.com/wandoulabs/codis/bin/codis-proxy -c /usr/local/codis/src/github.com/wandoulabs/codis/config.ini -L /data/log/codis-proxy_1.log  --cpu=4 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000

你可能感兴趣的:(分布式缓存)