從 Reddit 學到的經驗,reddit的最新教程從Reddit吸取的經驗教訓最近一些有價值的文章似乎并沒有引起太多關注,比如Steve Huffman關于創建Reddit過程中的經驗分享,在Twitter上的中文技術圈似乎并沒有提及。作為一個社交新聞網站,國內似乎關注Reddit的人并不多。我只知道有幾個極客是它的......
最近一些有價值的文章似乎并沒有引起太多關注,比如Steve Huffman關于創建Reddit過程中的經驗分享,在Twitter上的中文技術圈似乎并沒有提及。
作為一個社交新聞網站,國內似乎關注Reddit的人并不多。我只知道有幾個極客是它的死忠粉絲。Reddit由史蒂夫·霍夫曼(Steve Huffman)和亞歷克西斯·奧哈尼安(Alexis Ohanian)于2005年6月創立,后于2007年被康泰納仕(CondéNast)收購。現在Alexa排名300以內。
根據維基百科的介紹(參考):Reddit最早是用Common Lisp開發的,后來用Python重寫。著名的Python框架Web.py是由當時Reddit的員工艾倫·施瓦茨開發的,現在Reddit的Web框架使用的是Pylons。2009年11月,Reddit遷移到亞馬遜的云計算平臺。前端框架現在使用jQuery。也許你早就知道Reddit網站程序現在是開源的。如果有興趣,不妨下載研究。
嚴格來說,史蒂夫的演講實際上并沒有涉及太多深入的技術信息,但這些經驗確實可以作為通則分享給大家。
停機是家常便飯
很多人可能會覺得Startup的一些創始人是天才,其實未必。兩個22歲初出茅廬的大學畢業生寫的程序會有多好網站剛起步的時候,頻繁的宕機讓他們苦不堪言。其實Twitter和最近流行的FourSquare,一開始都不是很穩定,但還是吸引了足夠多的用戶。這是很多創業者需要慎重考慮的。
服務分離
現在有20多個數據庫,每個數據庫只處理一種特定類型的數據,只為簡單起見。另外,Reddit的一個教訓就是不要用Python線程,要用多進程。
打開架構
個人認為稱之為KeyValue更合適。
讓它保持無狀態
這意味著無狀態橫向擴展更容易。也許這是單節點服務器擴展到多臺服務器時首先要考慮的問題。否則負擔會越來越重。
Memcached
除了盡可能使用Memcached來加快用戶訪問數據的速度之外,大量預先生成的頁面內容都存儲在Memcached中。此外,MemcacheDB還用于適當的場景,以滿足數據持久化的需要。
存儲冗余數據
讓網站變慢的一個好方法是根據范式設計數據庫。除了將數據存儲在RDBMS中,大量的數據也存儲在前文提到的MemcacheDB中。與收入相比,裁員的成本并不高。前提是能有效保證數據一致性。
脫機工作
盡可能異步處理用戶操作,對于計算量相對較大的函數,利用離線計算模式。消息隊列使用rabbit MQ (rabbit technologies ltd .已被SpringSource收購),并采用AMQP協議。
也許還有一些需要改進的地方。請按照文章的出處分析。Reddit就像一個技術標本,仔細琢磨會有很多有趣的地方。相信對你也有幫助。
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部