Quora使用到的技术
以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的。本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》。关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”。呵呵。我们还是来看看Quora的技术吧。
目录
Search-Box
实时查询
Webnode2 和 LiveNode
Amazon Web Service
HAProxy Load-Balancing
Python
Thrift
Tornado
Long Polling (Comet)
MySQL
Memcached
Git
JavaScript Placement
Charlie Cheever 遵从 “14 Rules for Faster-Loading Web Sites”
Search-Box
Quora只能搜索问题,主题标签,用户名,和主题标题。没有全文搜索,所以,你 ...
Facebook 的系统架构
来源:http://www.quora.com/What-is-Facebooks-architecture (由Micha?l Figuière回答)
根据我现有的阅读和谈话,我所理解的今天Facebook的架构如下:
Web 前端是由 PHP 写的。Facebook 的 HipHop [1] 会把PHP转成 C++ 并用 g++编译,这样就可以为模板和Web逻贺业务层提供高的性能。
业务逻辑以Service的形式存在,其使用Thrift [2]。这些Service根据需求的不同由PHP,C++或Java实现(也可以用到了其它的一些语言……)
用Java写的Services没有用到任何一个企业级的应用服务器,但用到了Facebook自己的定制的应用服务器。看上去好像是重新发明轮子,但是这些Services只被暴露给Thrift使用(绝大所数是这样),Tomcat太重量级了,即使是Jetty也可能太过了点,其附加值对Facebook所需要的没有意义。
持久化由MySQL, Memcached [3], Facebook 的 Cassandra [4], ...