您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > Redis

Twemproxy 分布式 Redis代理服务

时间:12-14来源:作者:点击数:

Twemproxy 是 twitter 开发的 Redis 代理服务,有了 Twemproxy,不管服务端部署了多少个 Redis 实例,对客户端来说就是一个单实例的 Redis,开发者通过 tweproxy 访问 Redis 的实例时不需要关心去哪台 Redis 读取 key-value 数据,也不需要关心 key-value 写到了哪台 Redis。

Twemproxy 可以避免单点故障问题,因为 Twemproxy 背后使用多台服务器水平扩张 Redis 实例,Twemproxy 可以把数据分片(sharding)到多台服务器上,每台服务器存储整个数据集的一部分,因此,如果某个 Reids 服务宕机了,那么该部分数据也就丢失了,此时需要借助 Reids 的 master-slave 复制模式(replication)保证数据有备份。

安装

本测试使用源码安装方式(OSX环境):

#预安装automake、libtool:  
$ brew install automake
$ brew install libtool

$ git clone git@github.com:twitter/twemproxy.git
$ cd twemproxy
$ autoreconf -fvi
$ ./configure --enable-debug=full
$ make
$ src/nutcracker -h

使用

安装成功后可以执行命令查看 twemproxy 的使用方式:

src/nutcracker -h

-h, --help             : this help
-V, --version          : show version and exit
-t, --test-conf        : 检查配置文件是否正确
-d, --daemonize        : run as a daemon
-D, --describe-stats   : print stats description and exit
-v, --verbose=N        : set logging level (default: 5, min: 0, max: 11)
-o, --output=S         : set logging file (default: stderr)
-c, --conf-file=S      : set configuration file (default: conf/nutcracker.yml)
-s, --stats-port=N     : set stats monitoring port (default: 22222)
-a, --stats-addr=S     : set stats monitoring ip (default: 0.0.0.0)
-i, --stats-interval=N : set stats aggregation interval in msec (default: 30000 msec)
-p, --pid-file=S       : set pid file (default: off)
-m, --mbuf-size=N      : set size of mbuf chunk in bytes (default: 16384 bytes)
  1. 在客户端和多个 Redis 实例间做代理
  2. 多个 Redis 实例之间进行自动数据分片
  3. 支持一致性哈希

支持 Linux, BSD,OSX 等

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐