简介 twemproxy,也叫nutcracker,是twtter开源的Redis和Memcache代理服务器。 功能 Fast. Lightweight. Maintains persistent server connections. Keeps connection count on the backend caching servers low. Enables pipelining of requests and respon
简介
twemproxy,也叫nutcracker,是twtter开源的Redis和Memcache代理服务器。
从官网下载安装包编译并安装:distribution tarball:
[root@~/software/nutcracker-0.3.0]# ./configure --prefix=/usr/local/nutcracker-0.3.0 [root@~/software/nutcracker-0.3.0]# make [root@~/software/nutcracker-0.3.0]# make install [root@~/software/nutcracker-0.3.0]# cp -R conf /usr/local/nutcracker-0.3.0 [root@~/software/nutcracker-0.3.0]# ln -s /usr/local/nutcracker-0.3.0 /usr/local/nutcracker [root@~/software/nutcracker-0.3.0]# ln -s /usr/local/nutcracker/sbin/nutcracker /usr/local/bin/nutcracker
twemproxy支持通过YAML语法配置,其支持的指令集如下:
listen: The listening address and port (name:port or ip:port) for this server pool.以本文为例,配置一个Redis代理和一个Memcache代理服务如下:
[root@~/software/nutcracker-0.3.0]# cat /usr/local/nutcracker/conf/nutcracker.yml
alpha:
listen: 127.0.0.1:22121
hash: fnv1a_
hash_tag: "{}"
distribution: ketama
auto_eject_hosts: false
timeout: 400
redis: true
servers:
- 127.0.0.1:6379:1
beta:
listen: 127.0.0.1:22122
hash: fnv1a_
distribution: ketama
timeout: 400
backlog: 1024
preconnect: true
auto_eject_hosts: true
server_retry_timeout: 2000
server_failure_limit: 3
servers:
- 127.0.0.1:11211:1
- 127.0.0.1:11212:1
其中,Redis实例 127.0.0.1:6379 和 Memcache实例 127.0.0.1:11211 127.0.0.1:11212 请预先启动好。
/etc/init.d/redis_6379 start /usr/local/memcached-1.4.20/bin/memcached -d -m -l 127.0.0.1 -p 11211 -u root /usr/local/memcached-1.4.20/bin/memcached -d -m -l 127.0.0.1 -p 11212 -u root
https://github.com/billfeller/billfeller.github.io/blob/master/code/twenproxyTest.php
启动服务:
[root@/usr/local/nutcracker/conf]# nutcracker -c nutcracker.yml [Sun Dec 14 20:59:04 2014] nc.c:187 nutcracker-0.3.0 built for Linux 2.6.32-431.23.3.el6.x86_ x86_ started on pid 14359 [Sun Dec 14 20:59:04 2014] nc.c:192 run, rabbit run / dig that hole, forget the sun / and when at last the work is done / don't sit down / it's time to dig another one
执行测试脚本:
[root@~/wade/git/billfeller.github.io/code]# /usr/local/php/bin/php twenproxyTest.php bool(true) string(1) "1" int(1) bool(false) bool(true) int(2) bool(true) int(3) bool(true) bool(false)
Copyright © 2019- yipinjue.com 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务