codis官网:https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md
go get -u -d github.com/wandoulabs/codis #看到如下输出,完成安装 # imports github.com/wandoulabs/codis # imports github.com/wandoulabs/codis: no buildable Go source files in /usr/install/go/gopath/src/github.com/wandoulabs/codis cd $GOPATH/src/github.com/wandoulabs/codis/ git reset --hard 2.0.8 # 这个版本之后就没有没有bootstrap.sh这个文件了 sh bootstrap.sh
执行全部指令后,会在 bin 文件夹内生成 codis-config、codis-proxy、codis-server三个可执行文件。另外, bin/assets 文件夹是 codis-config 的 dashboard http 服务需要的前端资源, 需要和 codis-config 放置在同一文件夹下
codis-config 和 codis-proxy 在不加 -c 参数的时候, 默认会读取当前目录下的 config.ini 文件
zk=192.168.0.123:2181 dashboard_addr=192.168.0.123:18087
Codis-server是在redis-server的基础上做了一些修改(加入了 slot 的支持和原子的数据迁移指令)
建议修改redis.conf中的daemonize yes,设置成后台启动
每一个 Server Group 作为一个 Redis 服务器组存在, 只允许有一个 master, 可以有多个 slave, group id 仅支持大于等于1的整数
创建group并添加codis-server
设置编号为[0, 511]的 slot 由 server group 1 提供服务, 编号 [512, 1023] 的 slot 由 server group 2 提供服务
访问http://localhost:18087/admin , 现在可以在浏览器里面完成各种操作了。
codis-proxy启动之后,我们只需要向codis-proxy发送请求就好了。
个人认为codis-proxy本身就是负载均衡(他只是转发请求),主要保证codis-proxy之间高可用就可以了