11lxm 发表于 2018-11-7 11:13:18

Redis 和 Memcached集群-Twemproxy

  Twemproxy是 Twitter 开源出来的 Redis 和 Memcached 代理。

功能介绍
无论是 Memcached 还是当前的 Redis,其本身都不具备分布式集群特性,当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。
而 Twemproxy 通过引入一个代理层,可以将其后端的多台 Redis 或 Memcached 实例进行统一管理与分配,使应用程序只需要在 Twemproxy 上进行操作,而不用关心后面具体有多少个真实的 Redis 或 Memcached 存储。
安装与配置
将autoconf升级到2.4以上版本。  


[*]# http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
[*]# tar -zxvf autoconf-2.69.tar.gz
[*]# cd autoconf-2.69
[*]# ./configure --prefix=/usr
[*]# make
[*]# make install
  

  


[*]# git clone https://github.com/twitter/twemproxy.git
[*]# cd twemproxy/
[*]# CFLAGS="-ggdb3 -O0" autoreconf -fvi && ./configure --prefix=/usr/local/twemproxy--enable-debug=log
[*]# make
[*]# make install
[*]# /usr/local/twemproxy/bin/nutcracker -t
[*]nutcracker: configuration file 'conf/nutcracker.yml' syntax is ok
[*]
[*]# cp conf/nutcracker.yml /usr/local/twemproxy
[*]
[*]# vim /usr/local/twemproxy/nutcracker.yml
[*]....
[*]beta:
[*]listen: 0.0.0.0:22122
[*]hash: fnv1a_64
[*]hash_tag: "{}"
[*]distribution: ketama
[*]auto_eject_hosts: false
[*]timeout: 400
[*]redis: true
[*]servers:
[*]   - 192.168.5.73:5380:1 server1
[*]   - 192.168.5.73:5379:1 server2
[*]....
  


启动命令
1. 调试启动  


[*]# /usr/local/twemproxy/bin/nutcracker -c /usr/local/twemproxy/nutcracker.yml
  

2.守护进程启动  


[*]# /usr/local/twemproxy/bin/nutcracker -d -c /usr/local/twemproxy/nutcracker.yml
  

测试twemproxy  


[*]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 22122
[*]redis 127.0.0.1:22122> set key1 1
[*]OK
[*]redis 127.0.0.1:22122> get key1
[*]"1"
[*]redis 127.0.0.1:22122> quit
[*]# /usr/local/redis/bin/redis-cli -h 192.168.5.73 -p 5379
[*]redis 192.168.5.73:5379> get key1
[*](nil)
[*]redis 192.168.5.73:5379> quit
[*]# /usr/local/redis/bin/redis-cli -h 192.168.5.73 -p 5380
[*]redis 192.168.5.73:5380> get key1
[*]"1"
[*]redis 192.168.5.73:5380> quit


页: [1]
查看完整版本: Redis 和 Memcached集群-Twemproxy