SSDB 支持 Redis 协议, 许多人将 Twemproxy 置于多个 SSDB 实例的前端, 实现集群功能.
ssdb介绍
SSDB项目地址SSDB
是一个 C/C++
语言开发的高性能 NoSQL
数据库, 支持 KV
, list
, map(hash)
, zset(sorted set)
,qlist
(队列) 等数据结构, 用来替代或者与 Redis
配合存储十亿级别列表的数据.
twemproxy介绍
Tweproxy项目地址Twemproxy
是一个快速的单线程代理程序,支持 Memcached
ASCII
协议和更新的Redis
协议。它全部用C
写成,使用Apache 2.0 License
授权。项目在Linux
上可以工作,而在OSX
上无法编译,因为它依赖了epoll API
.
安装及配置
安装
请参考相关项目地址
配置
ssdb配置双主模式
twemproxy配置
$ cat /usr/local/twemproxy/conf/nutcracker.yml
alpha:
listen: 192.168.56.102:22121
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- 192.168.56.101:8888:1
- 192.168.56.102:8888:1
配置项
- listen: 192.168.56.102:22121 ## 监听地址和端口.
- hash: fnv1a_64 ## 散列算法.
- redis: true ## 后端代理的是否为redis.
- servers: ## 分片服务器列表
- distribution: ketama ## 分片的算法,有ketama(一致性hash)、module(取模)、random(随机)三种算法
- auto_eject_hosts: false ## 是否在节点无法响应时自动从服务器列表中剔除,重新响应时自动加入服务器列表中
启动tweproxy
$ nutcracker -d -c conf/nutcracker.yml
连接ssdb测试
$ redis-cli -h 192.168.56.102 -p 22121
**注意:**这里就不能再使用ssdb-cli
去连接tweproxy
了,需要使用redis
的方法去连接,包括后面的代码的连接方式也需要更改为redis
的方法。