豆瓣网技术架构的发展历程

豆瓣网技术架构的发展历程

ID:37407663

大小:3.11 MB

页数:54页

时间:2019-05-23

豆瓣网技术架构的发展历程_第1页
豆瓣网技术架构的发展历程_第2页
豆瓣网技术架构的发展历程_第3页
豆瓣网技术架构的发展历程_第4页
豆瓣网技术架构的发展历程_第5页
资源描述:

《豆瓣网技术架构的发展历程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、豆瓣网技术架构的发展历程Text2009.4洪强宁hongqn@douban.comMonday,March23,2009豆瓣网简介•2005年3月上线•以分享和发现为核心的社区•读书、电影、音乐、小组、同城、九点•我的豆瓣、友邻Monday,March23,2009一些数据•2.8M注册用户,约1/4活跃用户•千万级非注册用户•20M动态请求/天,峰值500~600/sec•23台普通PC服务器(1U*15/2U*8)•12台提供线上服务•38GmemcachedMonday,March23,2009单服务器•单台1U服务器(f

2、rodo)•单核AMDAthlon641.8GHz•1G内存,160GSATA*2•GentooLinux•MySQL5•Quixote(aPythonwebframework)•Lighttpd+SCGI(shire)•Memcached(!)Monday,March23,2009InternetLighttpdSCGIAppFSMySQLMemcacheStaticFilesMonday,March23,2009GentooLinux•容易维护•emergemysql•ebuild便于管理patch•只安装需要的东西•安全性•

3、GLSA(GentooLinuxSecurityAdvisories)Monday,March23,2009MySQL•Theworld’smostpopularopensourcedatabase•写少读多/写多读少==>MyISAM•读写并发高==>InnoDB•ReplicateforbackupMonday,March23,2009Python•开发迅速•BatteryIncluded•第三方库成熟•社区成长中•CPUG:http://python.cn/Monday,March23,2009Quixote•简单,轻量,易

4、于实现REST风格的URL•当时还没有Django,TurboGears,Pylons这些选择,只有一个笨重的ZOPE•http://www.douban.com/subject/1000001#luz/subject/__init__.pydef_q_lookup(request,name):subject=get_subject(name)returnlambdareq:subject_ui(req,subject)#luz/subject/subject_ui.ptldefsubject_ui[html](request,s

5、ubject):site_header(request)“

%s

”%subject.titlesite_footer(request)Monday,March23,2009Lighttpd•很好的动态和静态性能•原生SCGI支持•SCGI:一个简化版本的FastCGI,由Quixote开发者开发•所有的请求都通过80端口的lighttpd进程分发,动态内容走SCGI到localhost上的Quixote进程。Monday,March23,2009Memcache•从上线起就在使用,有效减轻MySQL负担•对libm

6、emcache做了python封装(使用Pyrex),性能是纯python版的3x+defget_subject(subject_id):subject=mc.get(‘s:’+subject_id)ifsubjectisNone:store.farm.execute(“selectxxx,xxxfromsubjectwhereid=%s”,subject_id)subject=Subject(*store.farm.fetchone())mc.set(‘s:’+subject_id,subject)returnsubjectMo

7、nday,March23,2009问题出现•1.2M动态请求/天•磁盘IO成为瓶颈•需要寻找新机房Monday,March23,2009解决方案•购买两台1U服务器•pippin和meriadoc(后改名merry)•双核,4G内存,250GSATA*3•一台作为应用服务器,一台作为数据库服务器•迁移到双线双IP机房,使用DNS解析不同网段IP-_-b•开始多人协作开发,frodo做为开发用机(subversion,trac,etc...)Monday,March23,2009InternetLighttpd(#$)DNSHTTP

8、SCGIProxyAppLighttpd(!")FSStaticFilesMemcacheMySQLMonday,March23,2009几点发现•数据库的内存分配对性能影响重大•innodb_buffer_pool_size•磁盘随机寻道速度比吞

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。