twemproxy 又叫netcracker,是一个高性能的协议路由器(代理服务器),可用于memcached/redis 集群,支持数据分片。
在国外兜了一圈也没发现有人对其进行rpm打包,估计大家都在等redis 3.0 cluster 吧。于是研究了一下,顺手写了个spec 文件。编译安装对autoconf 和m4 有版本要求,所以这个srpm包 只能在centos 7 工作,centos6 上无法直接使用,除非升级依赖包。
由于对centos 7 的systemd 的开机启动脚本还不太熟悉,所以没有包含启动脚本。
可以使用下面的办法手动启动或者加入/etc/rc.local 实现开机启动
1
|
/usr/sbin/nutcracker
-c
/etc/twemproxy/nutcracker
.yml -d
|
软件包内容
1
2
3
4
5
|
#rpm -qpl twemproxy-0.4.0-2.el7.centos.x86_64.rpm
/etc/twemproxy
/etc/twemproxy/nutcracker
.yml
/usr/sbin/nutcracker
/usr/share/man/man8/nutcracker
.8.gz
|
下面是来自oschina的简介
Twemproxy 是一个快速的单线程代理程序,支持 Memcached ASCII协议和更新的Redis协议。它全部用C写成,使用Apache 2.0 License授权。项目在Linux上可以工作,而在OSX上无法编译,因为它依赖了epoll API.
特性:
-
速度快
-
轻量级
-
维护持久的服务器连接
-
Keeps connection count on the backend caching servers low.
-
启用请求和响应的管道
-
支持代理到多个服务器
-
同时支持多个服务器池
-
多个服务器自动分享数据
-
实现了完整的 memcached ascii 和 redis 协议.
-
服务器池配置简单,通过一个 YAML 文件即可
-
Supports multiple hashing modes including consistent hashing and distribution.
-
可配置在失败时禁用某个节点
-
Observability through stats exposed on stats monitoring port.
-
支持 Linux, *BSD, OS X and Solaris (SmartOS)
MD5值
1
|
aef8d577a88820372e781d251da71dba twemproxy-0.4.0-2.el7.centos.src.rpm
|
参考文档
https://github.com/twitter/twemproxy
http://www.oschina.net/p/twemproxy
update-20151101
nutcracker.service
1
2
3
4
5
6
7
8
9
10
11
12
|
[Unit]
Description=nutcracker - High performance proxy server for memcached/redis
After=network.target
[Service]
Type=simple
ExecStartPre=/usr/sbin/nutcracker -t -c /etc/nutcracker/nutcracker.yml
ExecStart=/usr/sbin/nutcracker -c /etc/nutcracker/nutcracker.yml
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
|