【分享】浅析Quora的技术架构

【CSDN.NET整理】社交问答网站Quora最近相当火,很多国内外的团队都在学习、模仿和研究Quora技术架构。之前的一篇Quora’s Technology Examined对此进行了解读,国内丁香园网站技术总监冯大辉也据此发布了一篇《Quora用了哪些技术》,从云计算服务、Web层与CMS、为什么用Python作为主开发语言、通信处理、实时搜索、数据持久层等几个方面进行了分析。

在冯大辉看来:创始人查理·奇弗(Charlie Cheever)与亚当·德安杰洛(Adam D'Angelo)之前都在Facebook ,所以,Quora的技术有不少Facebook的基因。Quora的团队规模并不大,做技术的只有十余人而已,这么紧凑的团队利用了这么多的技术与产品,很多人都是多面手了。这是国内技术团队需要向国外同行学习的地方。

而在开发语言方面有意思的是,从Facebook出来的团队居然用了Python作为主要开发语言。Quora对此有所解释: Facebook选择PHP也并非是最佳选择,而是有历史原因。Quora技术团队在考察了多个语言之后选择的Python ,当然理由有一大堆,总体看来,并非很激进。

Quora在后端通信上使用的是Facebook开源出来的Thrift,除了开发接口简单之外,可能更为熟悉也是一个因素。Comet服务器使用的是Tornado,用以处理Long polling以及 Push更新,Tornado是前FriendFeed技术团队开源的产品。

另一方面,国内酷壳网的陈皓在发表了Stack Exchange的系统架构Facebook的系统架构之后,日前他又发表了《Quora使用到的技术》一文,对Search-Box、实时查询、Webnode2和LiveNode、Amazon Web Service、HAProxy Load-Balancing、Python、Thrift、Tornado、Long Polling (Comet)、MySQL、Memcached、Git、JavaScript Placement等相关技术在Quora中的应用进行了更为细致的分析。

而作为仅仅使用了黑色、红色和大量文字元素,号称设计元素最少的流行网站,Quora第一名员工、产品设计师Rebekah Cox在Web2.0大会上则分析了Quora的产品设计原则,并将其演讲内容发布在【这里】

所有这些,对于国内的技术尤其是创业团队都有着很好的借鉴意义。

上一篇:usermod命令、用户密码管理、mkpasswd命令


下一篇:如何用纯 CSS 创作一个 3D 文字跑马灯特效