当前位置: 首页 > 工具软件 > Twemproxy > 使用案例 >

redis转发代理插件:twemproxy(nutcracker)

萧鸿轩
2023-12-01

 

在redis2.x版本,redis本身是不支持分布式的,只能通过第三方组件来实现集群分布式。这里来介绍下twitter的twemproxy的安装使用。关于twemproxy的具体描述这里不再进行叙述。需要注意的是,twemproxy不是对数据进行冗余集群的,而是对数据进行分片,即根据相关算法将不同key的值尽量均匀分发到各个机器上。

 

1、下载nutcracker,下载地址:https://github.com/twitter/twemproxy/downloads,这里下载的0.2.1版本

2、解压nutcracker-0.2.1.tar.gz,并编译安装

tar -zxvf nutcracker-0.2.1.tar.gz -C /usr/local

cd /usr/local/nutcracker-0.2.1

./configure && make && make install

 

3、进入nutcracker解压目录,编辑conf文件夹下的alpha:nutcracker.yml文件

listen: 0.0.0.0:22121 #使用哪个端口启动Twemproxy

hash: fnv1a_64

distribution: ketama #使用的hash算法,ketama:一致性hash算法;modula:根据key值hash;random:随机选择服务器

auto_eject_hosts: true # 连续sever_failure_limit 次失败后,那台server会被剔除

redis: true #用来识别到服务器的通讯协议是redis还是memcached

timeout: 400 #超时时间,默认永久等待

server_retry_timeout: 30000 #当剔除某节点后,将其重新加入服务器集群的时间

server_failure_limit: 2 #最大失败次数,如果超过该次数还连接不上某个节点,且auto_eject_hosts为true,则剔除该节点

servers: #redis实例地址

- 127.0.0.1:6380:1

- 127.0.0.1:6381:1

 4、启动

安装完成后启动命令默生成在/usr/local/bin目录下,即我们可以直接使用启动命令启动,命令:nutcracker

nutcracker -d -c /usr/local/nutcracker-0.2.1/conf/nutcracker.yml -o /usr/local/nutcracker-0.2.1/run/redisproxy.log
 
该命令有几个参数,如下:
  1. -h, –help : 查看帮助文档,显示命令选项

  2. -V, –version : 查看nutcracker版本

  3. -t, –test-conf : 测试配置脚本的正确性

  4. -d, –daemonize : 以守护进程运行

  5. -D, –describe-stats : 打印状态描述

  6. -v, –verbosity=N : 设置日志级别 (default: 5, min: 0, max: 11)

  7. -o, –output=S : 设置日志输出路径,默认为标准错误输出 (default: stderr)

  8. -c, –conf-file=S : 指定配置文件路径 (default: conf/nutcracker.yml)

  9. -s, –stats-port=N : 设置状态监控端口,默认22222 (default: 22222)

  10. -a, –stats-addr=S : 设置状态监控IP,默认0.0.0.0 (default: 0.0.0.0)

  11. -i, –stats-interval=N : 设置状态聚合间隔 (default: 30000 msec)

  12. -p, –pid-file=S : 指定进程pid文件路径,默认关闭 (default: off)

  13. -m, –mbuf-size=N : 设置mbuf块大小,以bytes单位 (default: 16384 bytes)

 

 类似资料: