PythonTip >> 博文 >> Pylons

Quora 技术架构分析

zihua 2013-09-26 01:09:27 点击: 1089 | 收藏


Quora使用的开发语言是Python, web框架最初是Pylons。选择Pylons的原因是他们不打算用模板、ORM等很多东西(事实上他们直接使用的原生SQL,能够更好的调优),pylons比Django等框架更容易替换。如果Flask在他们启动项目的时候已经发布了的话,他们也可能去考虑用flask。他们现在正逐步使用自己开发的框架LiveNode/WebNode来代替。使用Nose做单元测试。

Thrift用于在不同的后端系统之间通信。

web服务器是Paste(Pylons默认的)结合nginx,HAProxy用来做web负载均衡。quora是实时的,Comet服务器用的是Tornado。

服务器主机使用Amazon的EC2和S3。

数据存储当前是用MySQL结合memcached,有两个服务是使用c++写的(其中之一就是搜索时的自动补全)。他们没有用 NoSQL,Adam D’Angelo认为如果在应用程序层次上进行分区,MySQL将不在有伸缩性问题,他还举例在2008年的时候FaceBook就跑在了1800台 MySQL数据库上,当时他们只有2名DBA。

版本控制用的是git。

---

原文:http://blog.flyzen.com/2010/11/quora-tech-infrastructure-analysis/

原文链接:http://www.simple-is-better.com/news/72

作者:zihua | 分类: Pylons | 标签: quora pylons | 阅读: 1089 | 发布于: 2013-09-26 01时 |