新聞中心
Quora網站由Facebook前雇員查理·切沃(Charlie Cheever)和亞當·安捷羅(Adam D' Angelo)于 2008年創(chuàng)辦,是一款問答SNS 產品,目前擁有11名雇員,共融資超過1100萬美元,產品還未上線,就被估值8000萬美元。文中闡述了Quora的技術架構,記錄一些值得關注的信息。

創(chuàng)新互聯(lián)-專業(yè)網站定制、快速模板網站建設、高性價比鳳泉網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鳳泉網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋鳳泉地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
文章內容如下:
使用云計算服務
Quora大量使用Amazon EC2 與 S3服務;操作系統(tǒng)部署的是Ubuntu Linux,易于部署和管理;靜態(tài)內容用Cloudfront.服務分發(fā),圖片先傳到EC2服務器,使用Pyhon S3 API 處理后后傳到S3。
從開始就使用云計算服務的的好處是節(jié)省了大量人工維護硬件服務器的成本,當然這個做法在咱這片土地上不太可行。
(refer:Copyright)
Web層與CMS
HAProxy作為前端負載均衡服務器,反向代理服務器是Nginx,Nginx后面則是Pylons(Pylons + Paste),承擔動態(tài)Web請求。
Webnode2與LiveNode這兩個內部系統(tǒng)承擔創(chuàng)建、管理內容的重任,Webnode2生成HTML、CSS與JavaScript,并且與LiveNode輕度耦合。LiveNode的作用用以顯示Web頁面內容。用Python、C++與JavaScript寫的。特別提到用到了jQuery與Cython。LiveNode有可能開源。
為什么用Python?
前面已經提到了一些Python相關的技術組件。有意思的是從Facebook出來的團隊居然用Python作為主要開發(fā)語言。Quora對此有所解釋:Facebook選擇PHP也并非是最佳選擇,而是有歷史原因。Quora技術團隊在考察了多個語言之后選擇的Python,當然理由有一大堆,總體看來,并非很激進。
通信處理
后端通信使用的是Facebook開源出來的Thrift,除了開發(fā)接口簡單之外,可能更為熟悉也是一個因素吧:)Comet服務器使用的是Tornado,用以處理Long polling以及Push 更新(不知道知乎用的什么?),Tornado是前FriendFeed技術團隊開源的產品。
實時搜索
因為Sphinx不能滿足實時性方面的要求,Quora啟用了自己開發(fā)的搜索引擎,只使用了Thrift與Python Unicode庫,此外沒有用別的。Quora的搜索比較特別,因為要對輸入內容做關聯(lián)并且要做有效提示,所以需要提供更好的前綴索引(Prefix indexing)功能。
Quora搜索的實現還是挺有技術含量的,對后端的查詢請求壓力也不小(或許當前的并發(fā)請求量還沒那么大)。對這個場景,做相關開發(fā)的朋友不妨仔細研究一下。如果大體框架類似,那么決定最后生出的因素很可能是那些細節(jié)。
數據持久層
大量使用MySQL作為存儲方案,Memcached作Cache層。沒有使用當前比較火爆的NoSQL相關產品。Quora這樣做有自己的理由,用戶量級沒有達到百萬的SNS站點完全沒必要用NoSQL的東西?;蛟S以后Quora也會啟用。
創(chuàng)始人查理·奇弗(Charlie Cheever)與亞當·德安杰洛(Adam D'Angelo)之前都在Facebook,所以,Quora的技術還真有不少Facebook的基因。Quora的團隊規(guī)模并不大,做技術的估計十余人而已,這么緊湊的團隊利用了這么多的技術與產品,可見很多人都是多面手了。這是國內技術團隊需要向國外同行學習的地方。
EOF
這只是一篇概要性的描述,如果要知道一些更為細節(jié)的東西,請看Quora上的相關評論,上文中已經給出相關鏈接。
【編輯推薦】
- 25個不錯PHP的游戲編程腳本代碼分享
- 巧用IronPython做更靈活的網頁爬蟲
- 淺談Python Web的五大框架
- 一個Python程序員的進化
- 年度黑馬Python 自省指南
本文題目:揭秘:Quora用了哪些技術 ?
鏈接地址:http://m.fisionsoft.com.cn/article/cdgdigh.html


咨詢
建站咨詢
