- 论坛徽章:
- 0
|
本帖最后由 colin8080 于 2015-10-21 17:46 编辑
RedisClusterProxy.rar
(28.5 KB, 下载次数: 179)
正名:RedisClusterProxy Redis3.0集群代理服务器
说明:
鉴于Redis3.0所谓的ASK 转向/MOVED 转向机制,存在客户端访问Redis服务器的Key需要二次定位,于是开发了Redis3.0集群代理服务器软件,
根据Redis3.0的哈希槽分配情况,通过代理实现户端访问Redis服务器Key的一次定位,就算是Redis3.0出现主备切换情况,RedisClusterProxy
会根据Redis3.0提供的转向信息更新哈希槽分配,同样可以一次定位;如果出现Redis3.0数据迁移的情况下,只要更新运行中配置run.conf中的哈希槽分配
信息就可以在不重启系统的情况下实现正常Key定位。
开发环境:Linux 2.6.18 64位 gcc 版本 3.4.6 C++,其他Linux版本必须兼容epoll,根据编译情况稍加修改就可以了
使用方法:
1.gmake编译完成生成可执行文件RedisClusterProxy;
2.根据自己的情况配置init.conf和run.conf,init.conf为初始配置,系统运行之后更改不会再起作用;run.conf为运行中配置,可以系统运行中更改,1分钟之后生效:
IP = 10.12.8.154 //集群代理服务器IP
Port = 7777 //集群代理服务器端口
ProcessNum = 5 //进程数
IOThreadNum = 3 //数据收发处理线程数
ProxyThreadNum = 20 //同步发送和接收Redis3.0数据线程数
EpollWaitTimeOut = 5000 //Epoll等待超时
RedisSlotNum = 16384 //哈希槽总数
RedisSlotDist = 10.12.8.154:6379(10923-16383);10.12.8.155:6379(5461-10922);10.12.8.156:6379(0-5460); //哈希槽分配
SendTimeOut = 1500 //发送数据超时
RecvTimeOut = 1500 //接收数据超时
SocketTimeOut = 300000 //socket有效期
LogLevel = 7 //日志等级
Exit = 0 //为1时自动关闭系统,只有为0时系统才能启动 |
评分
-
查看全部评分
|