Twemproxy 分布式 Redis代理服务

发布于 2021-04-12 12:35:33 字数 1672 浏览 1227 评论 0

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 等

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文