好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 淺析豆瓣網站運營的主要技術模式

淺析豆瓣網站運營的主要技術模式

熱門標簽:河北crm外呼系統平臺 河南語音外呼系統平臺 百應電話機器人價值 地圖標注不顯示 福州公司外呼系統加盟 南京400電話辦理到易號網 金蘭灣地圖標注app 周口權威的不封卡電話外呼系統 外呼系統2273649Z空間

豆瓣全部使用python開發。網站后臺的搜索引擎基于Twisted, GUI基于Quixote,還用到了cElementTree, MySQL和 PIL,這是豆瓣技術的基礎。
純粹的技術原理之外,相關豆瓣技術還有三個核心原則:以用戶為中心、簡單的前臺與復雜的后臺、快速開發。

以用戶為中心
Web2.0 改變了一些產品特性的優先級。原來做產品會把功能性放在首要位置,而可用性的優先級會往后放?,F在則由于要給普通用戶使用,必須要以用戶為中心,肯定要從易用的角度出發??梢哉f,Ajax技術的流行,首先解決的也是一個觀念問題。雖然這時點擊量無法獲得增長,但是它卻可以給用戶帶來更為便利的網絡訪問?,F在的網站開發不是為了追求點擊量了,而是為用戶提供需要的功能,滿足他們的需求。
尋找需求以創新,了解需求以完善細節
在楊勃看來,對大部分人來說,書籍、音樂、電影的選擇特別多,于是豆瓣網的方向初步確定,也就是需要發現和分享。每個人的口味都不一樣,大家共享之后就會產生口碑傳遞。“所以,一開始做豆瓣不是為了做一個網站,而是滿足人們的一個需求,如果對用戶沒用,只是新鮮是遠遠不夠的。”
現在同一類型的各個網站,技術高低對網站外觀的影響不是特別明顯,但只需要使用一下網站,就會明白很多差距。原因就在于,創新來自找到需求,細節來自了解需求。
 
簡單的前臺與復雜的后臺
為了最大程度的符合用戶習慣,簡單的前臺界面不代表系統的簡單。事實上,正相反,在Web2.0的系統中,后臺需要做更多的工作。一些表面看起來很簡單的功能背后需要大量的程序和計算的支撐。
基于數學統計的推薦引擎
豆瓣就是最具代表性的例子。與大多數網站不同的是,最早開發的部分是一套推薦引擎,這是基于數學統計的計算模型。在用戶點擊、瀏覽以后,這套模型可以自動分析出“與其興趣相投的人”,并主動地推薦用戶最有可能喜歡的書籍、音樂或者電影。
功能強大但使用簡單的管理工具
豆瓣是100%動態網站,沒有一個靜態的頁面。我們完全可以將其視為一個個人管理書籍、音樂、影碟的工具,只是將工具放在網上了?,F在,很多網站抄襲了豆瓣的模式和資源,但僅僅抄襲一個網站的表面是沒有價值的。
Web越來越像一個計算平臺。通過各種Web應用將計算機連接起來,比如需要相冊時可以使用Flickr,需要地圖時調用Google Map的Api。隨著很多服務商逐漸將自己的服務開放出來,每個網站都可以視為一個軟件服務提供商,相互之間的聯系讓系統越來越復雜,而這種系統的復雜并不會帶來功能使用的繁瑣。
強大的功能、簡單的使用,這是Web2.0應用的必然趨勢。由豆瓣的應用,可以看出發現聯系用戶之間的關系,在后臺建立導引用戶功能的連接,針對數據量做好方便的存儲和查詢,這就是網站技術的核心。
 
快速開發
很難想象,豆瓣擁有5000萬的注冊用戶,Alexa的流量排名在一千左右,很長的一段時間內卻一直就只有一臺八千塊錢攢起來的服務器、一兩個人的開發團隊維護著。
為了適應這種規模,開發模式需要進行改變。這在很多Web2.0的網站中都有所體現,有人稱之為簡單哲學。為了快速開發,系統設計也需要進行簡化。楊勃說,“豆瓣網中間也做過一些變動,最初還是受原來做企業系統的影響,結構設計的太復雜,甚至還分了很多層。后來就簡化了,因為太復雜之后就難以做快速開發。”
豆瓣現在采用的是敏捷開發的模式,這是一個快速開發、快速變化的體系,平均每兩天就有新的功能出現。

系統構架延展性強、更新升級迅速
“Web2.0網站是快速變化的,并不是把所有的功能都在開始階段完全實現。”楊勃說,“這就要求系統構架的可擴展性要做的很好。而且必須考慮將來規??赡軒淼膯栴}。豆瓣網一開始的架構設計就可以支撐上百萬用戶。”同時,基于Web的開發省去了客戶端分發、維護的成本,因此可以做到“永遠的 BETA”、隨時更新和升級服務。據說,豆瓣學習對象Flickr的升級是以小時為單位的。

與用戶交互頻繁
Web2.0與用戶的交互也是讓網站快速完善的動力。網站運行之后,聽取用戶的反饋,指導下一步的應用開發。“豆瓣網有一個站務論壇,很多人經常發言提出自己的需求。”比如豆瓣剛開張時,由于每個人都可以自由創建小組或者參加小組,于是用戶可能會同時參加幾十個小組。但由于很多小組人數比較少,可能很長時間才會有人發言,于是大家就要求有一個功能,把所有小組的最新發言聚合在一起。楊勃很快實現了這個功能,事實也證明非常受歡迎。

技術人員學習能力強
楊勃認為,由于是小團隊,工作模式就不能是一個經理帶一幫人,而是大家都需要參與編程。而且,對綜合學習能力的要求比較高。“因為技術變化很快,現在對任何技術再熟悉,經驗再多,過幾個月可能又出現了新的技術,因此最重要的是要能夠跟蹤最新的知識。而且由于最新的Web2.0模式和思想都是從國外發起的,所以程序員要具有在英文環境中直接溝通的能力,能夠直接參與到國外的開源項目中,而不是看已經翻譯為中文的文檔。”楊勃表示,自己學習Python 也是隨豆瓣網開始的。“Python很適合敏捷開發,最初的時候曾經嘗試過使用Ruby,后來由于豆瓣網需要很多后臺的程序,Python更適合編寫一些后臺模型程序,最終前臺也統一為一種語言。”楊勃之前對MySQL了解很少,但在做豆瓣網的過程中,很快將知識彌補上來。“現在我們有幾個數據庫都可以做同步,有些內容我們還向開源社區進行了回饋。”
豆瓣選用了很多開源產品,楊勃認為:“用好開源產品是非常關鍵的。豆瓣的平臺是基于Linux,數據庫用的是MySQL,除了數據挖掘和搜索,其它都是在開源產品之上開發的。因為現在有很多非常成熟的產品和模塊,沒有必要從頭做,只要有能力了解獲得這方面的知識,都能夠很快在別人的基礎上開發自己的系統。”


豆瓣是一個使用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個庫。每個表都是庫的一個部分,每個庫會有主副兩個。通過這種方式來減輕數據庫的壓力,當然這個是現在的方案,再往后的話,表的行數會增長,到達一定的程度后,還要進行水平分割,這是肯定的。然后我們現在的技術方面,在操作數據庫之前,首先獲取數據庫的游標,有一個方法,這個方法會干所有的事情,我們以后做的時候會從這個方法中進行判斷該從哪取東西。這個架構已經在了,只是現在還沒有做這一步而已。

標簽:呼和浩特 南京 瀘州 臺州 撫州 贛州 長治 自貢

巨人網絡通訊聲明:本文標題《淺析豆瓣網站運營的主要技術模式》,本文關鍵詞  淺析,豆瓣,網站,運營,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析豆瓣網站運營的主要技術模式》相關的同類信息!
  • 本頁收集關于淺析豆瓣網站運營的主要技術模式的相關信息資訊供網民參考!
  • 推薦文章