文章分类 -  开源学习

摘要:来源:叶军博客一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。1:积累是必不可少的架构师不是一天练成的。1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTML中,再用FTP传到服务器上就可以给别人展示一个网站。2000年,个人主页已经不能满足好奇,在当时的网管中心管起几台机器,作起网线水晶头,用ALL PEOPLE SEEMS TO NEED DAT 阅读全文
posted @ 2013-06-18 17:28 tangr206 阅读(238) 评论(0) 推荐(0)
摘要:Memcached源码分析之网络模型篇 memcached 采用多线程的工作方式, 主线程接收连接, 然后把连接平摊给工作线程, 工作线程处理业务逻辑,memcached 使用 libevent 处理网络事件, 主线程和工作线程都有一个 event base, 这是 libevent的核心数据结构, event base 能够监听多个 socket 的网络事件, 概括起来, memcached 大体框架如 图1所示.图1 memcached的多线程模型主线程的初始化主线程首先初始化 libevent 的核心数据结构 main base, 然后创建监听socket, 把监听 socket 封装. 阅读全文
posted @ 2013-03-22 12:53 tangr206 阅读(322) 评论(0) 推荐(0)
摘要:from http://kenby.iteye.com/blog/1423989#bc2292653使用命令 set(key, value) 向 memcached 插入一条数据, memcached 内部是如何组织数据呢一 把数据组装成 itemmemcached 接受到客户端的数据后, 把数据组装成 item, item 的格式如下:图1 struct item 的结构源码中这样定义 struct item:C代码 /***Structureforstoringitemswithinmemcached.*/typedefstruct_stritem{struct_stritem*next; 阅读全文
posted @ 2013-03-21 21:39 tangr206 阅读(257) 评论(0) 推荐(0)