redis+twemproxy+socket访问

来源:互联网 发布:关于les的歌网络歌手 编辑:程序博客网 时间:2024/05/23 18:31

redis集群

Twemproxy作为代理,可接受来自多个程序的访问,按照路由规则,转发给后台的各个Redis服务器,再原路返回。该方案很好的解决了单个Redis实例承载能力的问题。当然,Twemproxy本身也是单点,需要用Keepalived做高可用方案。通过Twemproxy可以使用多台服务器来水平扩张redis服务,可以有效的避免单点故障问题。虽然使用Twemproxy需要更多的硬件资源和在redis性能有一定的损失(twitter测试约20%),但是能够提高整个系统的HA也是相当划算的。不熟悉twemproxy的同学,如果玩过nginx反向代理或者MySQL proxy,那么你肯定也懂twemproxy了。其实twemproxy不光实现了redis协议,还实现了memcached协议,什么意思?换句话说,twemproxy不光可以代理redis,还可以代理memcached.

1.nutcracker centos中已有,编辑配置文件,

rw:
#listen: 0.0.0.0:22021
listen: /var/run/nutcracker_rw.sock
hash: crc32
distribution: modula
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- serverip1:port1:1
- serverip2:port2:1

2.启动
/usr/sbin/nutcracker -c /etc/nutcracker/conf.top.yml
3.查看启动情况(22222为twemproxy的管理端口)
netstat -nltp |grep 22222

ip和port方式监听,redis-cli访问时:redis-cli -p 22021
本地socket方式监听,redis-cli访问时:redis-cli -s /var/run/nutcracker_rw.sock