软件设计 2017-05-12
回到目录
Twenproxy除了可以作为redis的代理,它同样支持memerycached。我这里主要了解Twemproxy在redis集群上的解决方案。Twemproxy除了完美的解决了分片,路由等功能(同样采用了一致性hash算法) Twenproxy实现redis集群高可用 它支持node ejection,如果使用redis当缓存,不是很注重数据的一致性的话,开启node ejection可以在集群中某一台redis挂掉的时候将其送集群列表中移除,达到高可用性。
如果redis集群做为数据存储的话,或者很注重数据的一致性,则可以禁用node jection,但此时需要使用redis sentiel实现高可用性。
安装
$ git clone [email protected]:twitter/twemproxy.git $ cd twemproxy $ autoreconf -fvi $ ./configure --enable-debug=log $ make
修改配置
# cd /usr/local/src/nutcracker-0.3.0/conf # cp nutcracker.yml /etc/ # vim /etc/nutcracker.yml alpha: listen: 192.168.128.128:22121 hash: fnv1a_64 distribution: ketama auto_eject_hosts: true redis: true server_retry_timeout: 2000 server_failure_limit: 1 servers: --两台redis服务器的地址和端口 - 192.168.2.1:6379:1 - 192.168.2.2:6379:1
测试一下它的配置文件 conf是否有问题
# nutcracker -t /etc/nutcracker.yml
然后启动服务
# nutcracker -d -c /etc/nutcracker.yml
查看它的进程是否已经存在
ps -ef|grep nutcracker
测试可以使用redis-cli这个工具去连接22122端口完成。
以后在进行redis连接时,就直接填写tw的地址和端口就行了。
回到目录