Twemproxy源码解读分析

                       Twemproxy源码浅析

Twemproxy(又称为nutcracker)是一个支持RedisMemcached协议的快速轻量级的代理服务器。它是由Twitter开源出来的缓存服务器集群管理工具,主要用来弥补RedisMemcached对集群管理的不足。

对于我这样一个C语言的初学者来说, Twemproxy既没有Nginx,linux内核等因为深入性能细节的晦涩编码方式,但又具备了一个高性能的系统级应用项目的编程方式,从中可以学习良好C语言项目的编程风格、范式,学习类Unix下的系统编程,还有对于一个常驻服务的健壮性考虑等等,是一个非常好的项目。接下来我将把自己这一段时间来对twemproxy的调研,学习,使用和测试和自己的一些思考和大家一起分享,交流。

 

代码分析,如下图所示twemproxy可以划分成如下模块:                                                                                                         

 


主函数流程(main):处理daemon, pidfile, args, config等;

系统相关模块(os utils:主要是conf,core, log, signal, stats等;

数据结构相关模块(ds utils:主要array,queue,string,rbtree等;

协议相关(proto):主要是redis和memcache协议的实现;

哈希算法(hash): 主要包含crc, fnv, ketama, Jenkins, murmur等多种hash算法实现;

还有最核心的两个模块:

Event机制和请求处理实现;

 

Twemproxy作为一个开源项目,不到2W行代码包含了一个健壮的服务器端软件的必需,架构非常清晰, 尤其让我印象深刻的是它对日志的合理布局和多层次分级,以及详细的错误处理,能够让使用者受益无穷。也可以看出大公司开源出来的代码,非常重视日志和错误处理。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值