我的项目
saint1126
这个作者很懒,什么都没留下…
展开
-
网上展会的项目
要离开了,有些东西是要总结的。原创 2010-07-21 21:13:00 · 1090 阅读 · 0 评论 -
蜡笔连接设计之 预处理器及分布式redis
<br /><br /> <br /> 分布式消息队列采用memcacheq + magent来实现,预处理器主要实现获取消息队列的任务(消息),并做预处理分析,然后存储到redis中去,其中主线程负责读取队列,子线程负责处理队列,每个工作线程维持了自己的一个工作队列,主线程负责将消息hash后插入到对应的工作队列中去,redis的分布式是借鉴了lightcloud的实现,因为lightcloud是python语言的,不得不重写一个c语言的。<br /> <br /> <br />原创 2010-12-22 19:28:00 · 1229 阅读 · 0 评论 -
关于memagent的一个bug
<br /> 前几天介绍的mqagent是为memcaheq服务的,写完第二版的蜡笔连接业务后,通过检测memcacheq的队列,发现后端的两台memcacheq的比例严重失调,其中一个都达到了20166355/20166355,而另一个却只有40697/40697。比例500:1.<br /> 虽然memagent中使用了ketama的一致性hash算法,比例却如此失调,看来ketama算法的实现上出现了问题。通过研究一致性hash算法,分别针对libketama库,和memagent自身实现原创 2011-02-28 02:25:00 · 2830 阅读 · 0 评论 -
Mqagent-1.0说明文档
1 Mqagent的用途Mqagent是为了适应分布式memcachq的需求,在magent基础上进行二次开发形成,因为其时专门为memcacheq服务的,因此我命名为mqagent。其作为代理层,隔离了开发者和后端的多个memcachq server,使得后端对开发者透明,开发人员只需要和代理层,依据memcache的协议进行消息队列的get/set操作即可。2 Mqagent使用流程1、开发者申请一个消息队列名称,例如msg_deliver_email, 该消息队列主要用原创 2011-02-09 15:32:00 · 2800 阅读 · 0 评论 -
lighttpd + fastdfs + imagemagick实现的图片缩放图的分布式存储
主要解决动态的实现订制缩略图的大小服务,同时提供正常的图片获取服务,采用fastdfs分布式存储,同时采用lightttpd作为应用服务器,前端的web服务器可以用nginx或者apache做web服务器,我写了mod_fastdfs作为lighttpd的fastdfs的模块,模块内集成了imagemagick,可以通过文件名加上高度,和宽度的组合来获取不能尺寸的图片。例如:http://124.126.42.12:8000/group1/M00/00/0D/2-vktU2i8waqcckq原创 2011-04-12 01:01:00 · 9601 阅读 · 2 评论 -
redis的pre-sharding(预分布式)
<br /> 最近的项目进度比较紧,同步了几个项目,很少做总结,特别喜欢在github上review代码,字体很好,也很清晰。这个项目是实现redis的分布式设计的,之前的一个版本是按照http://www.ooso.net/archives/549 的light cloud的原理实现的,并对get,set做了hset,hget的改进,使得占内存2.4g的key降低到了700M。不过经过每次查询都要经过两次IO,实在是浪费,实测简单的set,get只能达到4000k/s左右,实在是低下。<br原创 2011-04-12 01:24:00 · 8208 阅读 · 1 评论