歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專(zhuān)業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
從網(wǎng)上看是這樣的:
使用云計(jì)算服務(wù)
Quora 大量使用 A-zon EC2 與 S3 服務(wù);操作系統(tǒng)部署的是 Ubuntu Linux,易于部署和管理;靜態(tài)內(nèi)容用 Cloudfront.服務(wù)分發(fā),圖片先傳到 EC2 服務(wù)器,使用 Py-on S3 API 處理后后傳到 S3。
Web 層與 CMS
HAProxy 作為前端負(fù)載均衡服務(wù)器,反向代理服務(wù)器是 Nginx,Nginx 后面則是 Pylons (Pylons + Paste) , 承擔(dān)動(dòng)態(tài) Web 請(qǐng)求。
Webnode2 與 LiveNode 這兩個(gè)-系統(tǒng)承擔(dān)創(chuàng)建、管理內(nèi)容的重任,Webnode2 生成 HTML、CSS 與 JavaScript ,并且與 LiveNode 輕度耦合。LiveNode 的作用用以顯示 Web 頁(yè)面內(nèi)容。用 Pyt-on、C++ 與 JavaScript 寫(xiě)的。特別提到用到了 jQuery 與 Cyt-on。LiveNode 有可能開(kāi)源。
為什么用 Pyt-on?
前面已經(jīng)提到了一些 Pyt-on 相關(guān)的技術(shù)組件。有意思的是從 Facebook 出來(lái)的團(tuán)隊(duì)居然用 Pyt-on 作為主要開(kāi)發(fā)語(yǔ)言。
通信處理
后端通信使用的是 Facebook 開(kāi)源出來(lái)的 T-rift,除了開(kāi)發(fā)接口簡(jiǎn)單之外,可能更為熟悉也是一個(gè)因素吧 :) Comet 服務(wù)器使用的是 Tornado,用以處理 Long polling 以及 Pus- 更新(不知道知乎用的什么?),Tornado 是前 FriendFeed 技術(shù)團(tuán)隊(duì)開(kāi)源的產(chǎn)品。
實(shí)時(shí)搜索
因?yàn)?Sp-inx 不能滿(mǎn)足實(shí)時(shí)性方面的要求,Quora 啟用了自己開(kāi)發(fā)的搜索引擎,只使用了 T-rift 與 Pyt-on Unicode 庫(kù),此外沒(méi)有用別的。Quora 的搜索比較特別,因?yàn)橐獙?duì)輸入內(nèi)容做關(guān)聯(lián)并且要做有效提示,所以需要提供更好的前綴索引(Prefix ing)功能。
Quora 搜索的實(shí)現(xiàn)還是挺有技術(shù)含量的,對(duì)后端的查詢(xún)請(qǐng)求壓力也不小(或許當(dāng)前的并發(fā)請(qǐng)求量還沒(méi)那么大)。對(duì)這個(gè)場(chǎng)景,做相關(guān)開(kāi)發(fā)的朋友不妨仔細(xì)研究一下。如果大體框架類(lèi)似,那么決定最后生出的因素很可能是那些細(xì)節(jié)。
數(shù)據(jù)持久層
大量使用 My-L 作為存儲(chǔ)方案,Memcac-ed 作 Cac-e 層。沒(méi)有使用當(dāng)前比較火爆的 No-L 相關(guān)產(chǎn)品。Quora 這樣做有自己的理由,用戶(hù)量級(jí)沒(méi)有達(dá)到百萬(wàn)的 SNS 站點(diǎn)完全沒(méi)必要用 No-L 的東西。
連接在這里:.dbanotes.net/arc-/quora_tec-
答案 2:
以下引自Quora Co-founder C-arlie C-eever答案:
Rig-t now, t-e code is mostlyPyt-on and JavaScript. We use t-e Pylons framework as a starting point but -ave replaced about -alf of it wit- our own custom systems(LiveNode/webnode2.) T-e JavaScript part of our infrastructure is built on top ofjQuery.//主要應(yīng)用Pyt-on 和 JS技術(shù)。LiveNode/webnode2為他們自己搭建的框架。We use T-rift to communicate between different backend systems.Our -in webserver is paste (t-e default for Pylons) wit- nginx and HAProxy in front of it. For our Comet server, we use Tornado.//此處可參考上面@王兆獻(xiàn)的答案。We mostly use A-zon EC2 and S3 for -osting. // 使用亞馬遜的云服務(wù)。Our data store is mostly My-L + memcac-ed rig-t now, plus two services written in C++.// 數(shù)據(jù)存儲(chǔ)用的是MySql +memcac-edWe use git for version control. // 版本控制工具。
地址:.quora/W-at-languages-and-frameworks-were-used-to-code-Quora?q=w-at+quora+frame
Hope t-is -elps!
下一篇:新知沒(méi)有設(shè)置(參見(jiàn)Quora的settings)功能,如果想要修改賬號(hào)密碼怎么辦? 下一篇 【方向鍵 ( → )下一篇】
上一篇:哪些童話(huà)角色讓你印象深刻? 上一篇 【方向鍵 ( ← )上一篇】
快搜