twemproxy是一个代理服务器,可以通过它减少memcached或redis服务器所打开的连接数。
twemproxy有何用途呢?它可以:
通过代理的方式减少缓存服务器的连接数 自动在多台缓存服务器间共享数据 通过不同的策略与散列函数支持一致性散列 通过配置的方式禁用失败的结点 运行在多个实例上,客户端可以连接到首个可用的代理服务器 支持请求的流式与批处理,因而能够降低来回的消耗 redis的创建者salvatore sanfilippo(@antirez)撰写了一篇文章,介绍了如何通过twemproxy在开启redis-cluster特性前就让redis集群发挥作用,而在大多数情况下都不会丧失太多的性能:
twemproxy的强大之处在于可以通过配置的方式让它禁用掉失败的结点,同时还能在一段时间后进行重试,抑或使用指定的键->服务器映射。这意味着在将redis用作数据存储时,它可以对redis数据集进行分片(禁用掉结点驱逐);在将redis用作缓存时,它可以启用结点驱逐以实现简单的高可用性。 twemproxy速度很快,真的很快,它几乎与直接访问redis速度一样快。我敢说在最差的情况下,性能也只不过才损失20%而已。
我对性能问题唯一的想法是当在多个实例上使用命令时,我觉得mget还有改进空间。 twemproxy早在今年初由twitter开源,它最开始支持memcached,最近又添加了对redis的支持。twitter使用了大量的缓存服务器,每分钟会发送300k的tweet;可以看看这篇介绍real-time delivery architecture at twitter以了解更多信息。
查看英文原文:twemproxy – proxy for memcached and redis
查看中文原文:http://www.infoq.com/cn/news/2012/12/twemproxy
相关日志:
java多线程编程总结
omnigraffle professional 5.4.2 相当于win下的visio
通过mac远程调试iphone/ipad上的网页
sublime text 2 – sftp/ftp 安装与使用
os x lion terminal(终端) 用颜色显示不同类型文件
原文地址:twemproxy——针对memcached与redis的代理, 感谢原作者分享。
