首页 » 系统架构 » 阅读文章

[置顶]Quora 相关技术架构

2011-03-11 15:46 7122 7 发表评论

Quora’s Technology Examined ,阐述了 Quora 的技术架构,有一些值得关注的信息




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


powered by 0abcd.com

(refer: Copyright ) powered by 0abcd.com

Web 层与 CMS


HAProxy 作为前端负载均衡服务器,反向代理服务器是 Nginx,Nginx 后面则是 Pylons (Pylons + Paste) , 承担动态 Web 请求。 在这个人群中,忽然找到你

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

为什么用 Python?


前面已经提到了一些 Python 相关的技术组件。有意思的是从 Facebook 出来的团队居然用 Python 作为主要开发语言。Quora 对此有所解释: Facebook 选择 PHP 也并非是最佳选择,而是有历史原因。Quora 技术团队在考察了多个语言之后选择的 Python ,当然理由有一大堆,总体看来,并非很激进。(php方便新手快速入门,但对于Web后续的开发和系统的整合,其实是不够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 的团队规模并不大,做技术的估计十余人而已,这么紧凑的团队利用了这么多的技术与产品,可见很多人都是多面手了。这是国内技术团队需要向国外同行学习的地方。


这只是一篇概要性的描述,如果要知道一些更为细节的东西,请看 Quora 上的相关评论方。



评论 共7条 (RSS 2.0) 发表评论

  1. peoplecall says:

    I wanted to check up and let you know how much I loved discovering your website today. We would consider it a honor to operate at my business office and be able to use the tips shared on your web site and also engage in visitors’ reviews like this. Should a position involving guest writer become offered at your end, i highly recommend you let me know.

  2. Gregory Karczewski says:

    This website online is known as a walk-by for the entire information you needed about this and didn’t know who to ask. Glimpse here, and you’ll undoubtedly uncover it.

  3. Janie Vender Gal says:

    Heya dude many thanks for publishing this valuable material. It’s clearly what I have been searching to find. Cheers!

  4. watch full movies online says:

    Howdy this is kinda of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML. I’m starting a blog soon but have no coding expertise so I wanted to get guidance from someone with experience. Any help would be enormously appreciated!

  5. inversion tables says:

    Many thanks for sharing superb informations. Your site is extremely cool. I’m impressed with the facts that you’ve on this web page. It reveals how nicely you perceive this matter. Bookmarked this web page page, will come back again for a lot more posts. You, my close friend, ROCK! I found just the information I presently searched all over the position and just couldn’t come across. What an awesome online web page.

  6. Penny Auctions says:

    I conceive other website proprietors should take this web site as an model, very clean and good user friendly layout.


  • 使用新浪微博登陆
    疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人
  • want to say: