安装Resource Agents的时候出现错误:configure.ac:9: error: Autoconf version 2.63 or higher is required。指的是autoconf版本低,需要安装高版本的。
- wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
- tar xzf autoconf-2.68.tar.gz
- cd autoconf-2.68
- ./configure
- make && make install
- 如果原来已经装过,还需要覆盖原来的。
- cp /usr/local/bin/autoconf /usr/bin/
cp /usr/local/bin/autoreconf /usr/bin/
-
Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数。
Twemproxy有何用途呢?它可以:
- 通过代理的方式减少缓存服务器的连接数
- 自动在多台缓存服务器间共享数据
- 通过不同的策略与散列函数支持一致性散列
- 通过配置的方式禁用失败的结点
- 运行在多个实例上,客户端可以连接到首个可用的代理服务器
- 支持请求的流式与批处理,因而能够降低来回的消耗
Twemproxy的强大之处在于可以通过配置的方式让它禁用掉失败的结点,同时还能在一段时间后进行重试,抑或使用指定的键->服务器映射。这意味着在将Redis用作数据存储时,它可以对Redis数据集进行分片(禁用掉结点驱逐);在将Redis用作缓存时,它可以启用结点驱逐以实现简单的高可用性。
Twemproxy速度很快,真的很快,它几乎与直接访问Redis速度一样快。我敢说在最差的情况下,性能也只不过才损失20%而已。
我对性能问题唯一的想法是当在多个实例上使用命令时,我觉得MGET还有改进空间。
- 虽然可以动态移除节点,但该移除节点的数据就丢失了。
- redis集群动态增加节点的时候,twemproxy不会对已有数据做重分布.maillist里面作者说这个需要自己写个脚本实现
- 性能上的损耗
Twemproxy早在今年初由Twitter开源,它最开始支持Memcached,最近又添加了对Redis的支持。Twitter使用了大量的缓存服务器,每分钟会发送300k的tweet.
https://github.com/twitter/twemproxy 下载包以及相应的安装方法.
nutcracker -d -c conf/nutcracker.yml 启动nutcracker
nc 127.0.0.1 22222 | python -mjson.tool 查看状态