豆瓣网:用Quixote和web.py打造强大的网站,quixoteweb.py,在开发框架方面,豆瓣
豆瓣网:用Quixote和web.py打造强大的网站,quixoteweb.py,在开发框架方面,豆瓣
豆瓣是一个使用Python进行开发的网站。在开发框架方面,豆瓣主要使用Quixote(一个轻量级的Python Web框架,简单、高效,代码简洁);后台运行的Web服务主要使用Web.py(web.py也是一个Python的Web框架,简单且功能强大)。
豆瓣网可分割成两大块:一块是前端的Web,也就是用户在浏览器访问的时候会触发一系列的操作,从数据库拿出数据,渲染成HTML页面反馈给用户,这是前端;另外一块是后端,在豆瓣有一个很强的数据挖掘团队,每天把用户产生的数据进行分析,进行组合,然后产生出用户推荐,然后放在数据库里面,前端会实时的抓取这些数据显示给用户。
豆瓣(架构)设计现在在WEB这一端主要是用这么几种技术:前端是nginx和lighttpd,中间是Quixote的Web框架,后面是MySQL以及我们自己开发的DoubanDB。这些除了Quixote都是一些比较流行的、尖端的技术。Quixote稍微老一点,如果要重新设计的话,可能会在这方面做一些考虑。比如Python社区中的Django、Pylons等等都是可以考虑的,那么在豆瓣的内部的话,我们一般是用web.py,很轻量的一个Web框架来做,也是非常不错的选择,它可能需要自己做的事情多一点。
豆瓣现在还没有达到数据库分片的程度。最常见的手段是,按照功能分区。我们会把数据表分成几个独立的库,现在是一共有4个库。每个表都是库的一个部分,每个库会有主副两个。通过这种方式来减轻数据库的压力,当然这个是现在的方案,再往后的话,表的行数会增长,到达一定的程度后,还要进行水平分割,这是肯定的。然后我们现在的技术方面,在操作数据库之前,首先获取数据库的游标,有一个方法,这个方法会干所有的事情,我们以后做的时候会从这个方法中进行判断该从哪取东西。这个架构已经在了,只是现在还没有做这一步而已。
相关内容
- web.py初探之第一个页面hello word,web.pyhello,编写web程序也
- web.py cookie使用之cookie设置与获取,web.pycookie,cookie相信
- web.py创始人Aaron Swartz自杀身亡,享年26岁,web.pyswartz,
- web.py源码分析: 模板(1),web.py源码, 实验环境搭建 为了
- 又是 web.py 页面执行计时,web.py页面执行计时,实现计时
- 对web.py设置favicon.ico的方法详解,web.pyfavicon.ico
- 浅析Python的web.py框架中url的设定方法,pythonweb.py
- 在windows下快速搭建web.py开发框架方法,web.py框架
- web.py 十分钟创建简易博客实现代码,web.py十分钟
- web.py在SAE中的Session问题解决方法(使用mysql存储),
评论关闭