
twemproxy
文章平均质量分 60
编程小问号
这个作者很懒,什么都没留下…
展开
-
Twemproxy源码分析(一)启动过程
概述:Twemproxy是Twitter开发并开源的适用于Redis和Memcached的轻量级的缓存中间件,可以代理对Redis和Memcached的访问。因为项目需要,我们打算在此基础上进行二次开发,加入一些自己需要的功能(例如cluster之间的数据同步),所以需要深入了解一下Twemproxy源码,我将我阅读Twemproxy源码过程的笔记记录在此。代码概况:clo转载 2015-08-05 09:59:01 · 1207 阅读 · 0 评论 -
Twemproxy源码分析(二)进程&事件模型
概述:上一节我们了解了Twemproxy主程序的启动过程,但没有深入细节。作为一个proxy服务,我们应该深入了解它的进程和事件模型。本章我们从nc_run()开始深入了解。进程模型:在看代码之前,我们得先大体了解Twemproxy使用的是单进程、多进程还是多线程的模型。通过grep代码,查找fork()和pthread_create()函数的调用,发现Twemproxy使转载 2015-08-05 10:00:24 · 1138 阅读 · 0 评论 -
Twemproxy源码分析(三)数据结构(队列)
概述前面我们分析了Twemproxy的启动过程,进程和时间驱动模型,再往下细看逻辑的话,就必须先了解一下Twemproxy的重要数据结构和它们之间的关系了,本节我们先看一下队列,因为很多主要数据结构都用到了它。有关队列的代码主要在nc_queue.h中,从代码注释中可以看到,这个文件只不过是从FreeBSD中拿过来的,队列的定义和操作凑是通过宏来实现的。通过注释,我们可以了解到nc转载 2015-08-05 10:02:11 · 1005 阅读 · 0 评论 -
Twemproxy源码分析(五)配置文件
概述:Twemproxy使用yaml作为配置文件的格式,本节我们看一下Twemproxy如何读取配置文件的,如果要扩展Twemproxy的功能,修改配置是必不可少的。配置加载:前面我们提到,instance结构中,有个conf_filename字段,这个字段存放的就是配置文件名,于是我们通过这个字段查找一下Twemproxy是在什么地方加载的配置文件:12345转载 2015-08-05 10:04:17 · 1465 阅读 · 0 评论 -
Twemproxy源码分析(四)数据结构(array和string)
概述:本节我们介绍Twemproxy的两个重要的自定义数据结构:array和string。array:故名思议,array就是数组,array的代码在nc_array.c和nc_array.h中,我们先来看看array的结构:数据结构:123456struct array { uint32_t nelem; /* # element */转载 2015-08-05 10:03:03 · 698 阅读 · 0 评论