Quora 用了哪些技术 ?

标签: Arch Facebook Quora | 发表时间:2011-03-08 18:31 | 作者:[email protected](Fenng) CMGS
出处:http://www.dbanotes.net/

by Fenng@dbanotes.net

很多团队都在学习、研究 Quora 。前段时间看到这篇 Quora's Technology Examined ,阐述了 Quora 的技术架构,有一些值得关注的信息,记录并分享一下。

使用云计算服务

Quora 大量使用 Amazon EC2 与 S3 服务;操作系统部署的是 Ubuntu Linux,易于部署和管理;静态内容用 Cloudfront.服务分发,图片先传到 EC2 服务器,使用 Pyhon S3 API 处理后后传到 S3。

从开始就使用云计算服务的的好处是节省了大量人工维护硬件服务器的成本,当然这个做法在咱这片土地上不太可行。

Quora_China_chat.png.scaled500.png
(refer: Copyright )

Web 层与 CMS

HAProxy 作为前端负载均衡服务器,反向代理服务器是 Nginx,Nginx 后面则是 Pylons (Pylons + Paste) , 承担动态 Web 请求。

Webnode2 与 LiveNode 这两个内部系统承担创建、管理内容的重任,Webnode2 生成 HTML、CSS 与 JavaScript ,并且与 LiveNode 轻度耦合。LiveNode 的作用用以显示 Web 页面内容。用 Python、C++ 与 JavaScript 写的。特别提到用到了 jQuery 与 Cython。LiveNode 有可能开源。

为什么用 Python?

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

通信处理

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

实时搜索

因为 Sphinx 不能满足实时性方面的要求,Quora 启用了自己开发的搜索引擎,只使用了 Thrift 与 Python Unicode 库,此外没有用别的。Quora 的搜索比较特别,因为要对输入内容做关联并且要做有效提示,所以需要提供更好的前缀索引(Prefix indexing)功能。

Quora 搜索的实现还是挺有技术含量的,对后端的查询请求压力也不小(或许当前的并发请求量还没那么大)。对这个场景,做相关开发的朋友不妨仔细研究一下。如果大体框架类似,那么决定最后生出的因素很可能是那些细节。

数据持久层

大量使用 MySQL 作为存储方案,Memcached 作 Cache 层。没有使用当前比较火爆的 NoSQL 相关产品。Quora 这样做有自己的理由,用户量级没有达到百万的 SNS 站点完全没必要用 NoSQL 的东西。或许以后 Quora 也会启用。

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

--EOF--

这只是一篇概要性的描述,如果要知道一些更为细节的东西,请看 Quora 上的相关评论,上文中已经给出相关链接。


最近文章|Recent Articles

本站赞助商:豆瓣网(Douban.com)

评论数(21)|添加评论 | 最近作者还说了什么? Follow Fenng@Twitter

DBA Notes 理念: 用简约的技术取得最大的收益...

相关 [quora 技术] 推荐:

Quora 用了哪些技术 ?

- CMGS - DBA Notes
很多团队都在学习、研究 Quora. 前段时间看到这篇 Quora's Technology Examined ,阐述了 Quora 的技术架构,有一些值得关注的信息,记录并分享一下. Quora 大量使用 Amazon EC2 与 S3 服务;操作系统部署的是 Ubuntu Linux,易于部署和管理;静态内容用 Cloudfront.服务分发,图片先传到 EC2 服务器,使用 Pyhon S3 API 处理后后传到 S3.

Quora使用到的技术

- CMGS - 酷壳 - CoolShell.cn
以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的. 本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》. 关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”. 我们还是来看看Quora的技术吧.

Quora使用到的技术,quora也就是国内的知乎,百度知道,你问我答那种网站

- wangdei - Starming星光社最新更新
以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的. 本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》. 关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”. 我们还是来看看Quora的技术吧.

Quora 入职第一天

- Wenhuan - 爱范儿 · Beats of Bits
现在的移动互联网发展如火如荼,各种 Startup 项目和公司层出不穷. 他们对于人才的争夺战也愈加剧烈,各种福利、软硬件环境都成为吸引人才的要素. 之前我们介绍过 Twitter 入职的一些情况,而上周六刚刚加入 Quora 的工程师 Kah Seng Tay 介绍了他在 Quora 的新生活. 入职时 Lisa Moreno 用绽放的笑容接待了他,并给了他办公室所有门的钥匙以及一些需要填写的入职资料.

Quora 的美妙世界

- 坏人 - 爱范儿 · Beats of Bits
在 Facebook 和 Twitter 之外,Quora 是 SNS 网络中的另一个真正的亮点. 我们曾经分析过它流行之下的隐忧所在,也探究过在它带动之下其他问答网站的新尝试与创新,我们甚至也带大家一起八卦了一下入职 Quora 工作的情景. 日前数据分析公司 KISSmetrics 在一名 Quora 的活跃用户 Semil Shah 帮助下,绘制了一幅信息图,从中我们可以了解到 Quora 一些很有趣的细节,比如人们如何使用 Quora、Quora 的用户增长率等等.

说说Stack Overflow和Quora

- corleone1969 - robbin的自言自语
今天看到一个新闻,Quora的中国克隆“知乎”得到了创新工场的投资. 我之前从创新工场的投资经理张亮那里要到了一个知乎邀请码,最近一直泡知乎,觉得Quora类的产品有很多创新的亮点,所以比较感兴趣这类产品,忍不住就谈谈. Stack Overflow(以下简称SO)和Quora虽然都是知识问答类的网站,但是他们有共同的成功基因,也有本质的差别.

Quora为什么不采用NoSQL?

- Lianhui Wang - NoSQLFan
最近问答类网站像打了鸡血一样被疯狂的复制,而Quora作为全球最大的社会化问答网站,他背后的技术是什么样的呢. 为什么Quora没有使用NoSQL类产品呢. 下面是Quora的创始人,Facebook的前CTO,被马克扎克伯格称做“曾经最好的朋友”的Adam D’Angelo同学对这一问题的回答:.

Quora 界面有两点新变化

- TT Jobs - 爱范儿 · Beats of Bits
作为一个以知识为驱动力量的社区,话题组织如果不能满足用户需求,是不应该的. Quora 这个典型的知识型社区的界面有了两点变化,让用户能够更加容易发现自己感兴趣的内容. 变化1:当你进入一个知识节点里面, 就会发现界面发生了变化,现在一条条话题的上方多出了两个区域,一个是“Best Questions”,一个是“Open Questions”,另一个是“Frequently Asked Questions”.