豆瓣是一個使用Python進行開發的網站。
在開發框架方面,豆瓣主要使用Quixote(一個輕量級的Python Web框架,簡單、高效,程式碼簡潔);後臺執行的Web服務主要使用Web.py(web.py也是一個Python的Web框架,簡單且功能強大)。
豆瓣網可分割成兩大塊:一塊是前端的Web,也就是使用者在瀏覽器訪問的時候會觸發一系列的操作,從資料庫拿出資料,渲染成HTML頁面反饋給使用者,這是前端;另外一塊是後端,在豆瓣有一個很強的資料探勘團隊,每天把使用者產生的資料進行分析,進行組合,然後產生出使用者推薦,然後放在資料庫裡面,前端會實時的抓取這些資料顯示給使用者。
豆瓣(架構)設計現在在WEB這一端主要是用這麼幾種技術:前端是nginx和lighttpd,中間是Quixote的Web框架,後面是MySQL以及我們自己開發的DoubanDB。這些除了Quixote都是一些比較流行的、尖端的技術。Quixote稍微老一點,如果要重新設計的話,可能會在這方面做一些考慮。比如Python社群中的Django、Pylons等等都是可以考慮的,那麼在豆瓣的內部的話,我們一般是用web.py,很輕量的一個Web框架來做,也是非常不錯的選擇,它可能需要自己做的事情多一點。
豆瓣現在還沒有達到資料庫分片的程度。最常見的手段是,按照功能分割槽。我們會把資料表分成幾個獨立的庫,現在是一共有4個庫。每個表都是庫的一個部分,每個庫會有主副兩個。透過這種方式來減輕資料庫的壓力,當然這個是現在的方案,再往後的話,表的行數會增長,到達一定的程度後,還要進行水平分割,這是肯定的。然後我們現在的技術方面,在運算元據庫之前,首先獲取資料庫的遊標,有一個方法,這個方法會幹所有的事情,我們以後做的時候會從這個方法中進行判斷該從哪取東西。這個架構已經在了,只是現在還沒有做這一步而已。
豆瓣網:用Quixote和web.py打造強大的網站
相關文章
- 豆瓣的架構—專訪豆瓣網站的技術總監洪強寧架構網站
- laravel+queryList爬蟲各大桌布網站,打造自己的桌布網站Laravel爬蟲網站
- 專案實戰!用爬蟲和Flask打造屬於自己的電影網站爬蟲Flask網站
- 用PHP如何打造一個高可用高效能的網站PHP網站
- 用圖片打造的網站,原來並不是不能優化的網站優化
- 強大的輕量級開源框架web.py安裝詳解框架Web
- 前端:將網站打造成單頁面應用SPA前端網站
- 建立網站或網店的費用網站
- 網站加速的【5大因素】網站
- (轉)前端:將網站打造成單頁面應用SPA前端網站
- “瘋狂的小貝”強勢來襲,打造“星際”網際網路絡
- 專訪豆瓣網首席架構師洪強寧:Python,簡單的力量架構Python
- 網站欄目分享-怎麼做一個大氣的網站網站
- 淺談網站建設的六大實用技巧網站
- 大資料下網站資料分析應用大資料網站
- 四大UX設計原則,打造網站最佳瀏覽體驗UX網站
- 功能強大的html網站後臺管理系統模板程式碼下載HTML網站
- 專訪豆瓣網首席架構師洪強寧:Python,簡單的力量薦架構Python
- 用自己的程式語言實現了一個網站(增強版)網站
- 用rsync實現網站映象和備份網站
- 功能強大的網路管理軟體
- 祝你成才,網站模板,簡潔後臺,功能強大,簡歷模板網站
- 面試精靈:Java後端靠譜、強大的面試題網站(穩拿offer)Java後端面試題網站
- 20個使用網頁大背景的網站設計案例網頁網站
- 網站建設的12大誤區網站
- 大資料和人工智慧領域最實用且絕對不能錯過的10大網站大資料人工智慧網站
- 【網站搭建】30分鐘輕鬆搭建網站應用網站
- 網站和應用程式攔截器:Focus Mac網站Mac
- 用rsync實現網站映象和備份(ZT)網站
- 大型網站為何要打造分散式服務網站分散式
- 一大波IT網站~網站
- 全球100強網站的獨立訪客分析網站
- 增強網站可訪問性的25種方法網站
- python 在網際網路應用是如此強大Python
- 網站建設和網站設計有哪些關聯?網站
- 網站監控網站劫持,網站監控網站劫持有哪些需要注意的網站
- 英文網站改成自己需要的網站網站
- SuperSpider——打造功能強大的爬蟲利器IDE爬蟲