導(dǎo)購網(wǎng)站的核心技術(shù)解析
導(dǎo)購網(wǎng)站將圖片通過Apache部署在單獨(dú)的圖片服務(wù)器中并開啟緩存功能,下面是小編搜集整理的一篇關(guān)于導(dǎo)購網(wǎng)站架構(gòu)技術(shù)探究的論文范文,供大家閱讀參考。
導(dǎo)購網(wǎng)站是給消費(fèi)者提供網(wǎng)絡(luò)購物指導(dǎo)的服務(wù)類網(wǎng)站,其職責(zé)是解決消費(fèi)者心理的種種疑慮,引導(dǎo)幫助消費(fèi)者省時省力的搜索到理想的商品并實(shí)現(xiàn)購買,甚至挖掘出消費(fèi)者潛在的購買欲望。導(dǎo)購網(wǎng)站設(shè)計應(yīng)考衡快速更新的龐大數(shù)據(jù)及大量并發(fā)訪問的場景,提出相應(yīng)的解決方案。
1導(dǎo)購網(wǎng)站架構(gòu)方面的訴求
互聯(lián)網(wǎng)行業(yè)生存在快魚吃慢魚的時代,面對數(shù)億的用戶規(guī)模,不能簡單依靠調(diào)研及產(chǎn)品規(guī)劃妄圖使網(wǎng)站建設(shè)一步到位。導(dǎo)購網(wǎng)站的UI以及功能需要快速開發(fā)、快速迭代,根據(jù)收集的網(wǎng)站用戶習(xí)慣數(shù)據(jù)進(jìn)行分析,找出問題并快速做出調(diào)整。
導(dǎo)購網(wǎng)站前端和后端技術(shù)關(guān)注點(diǎn)不同,需要能夠獨(dú)立開發(fā)和獨(dú)立演進(jìn)。網(wǎng)站前端需要關(guān)注視覺營銷效果,根據(jù)不同發(fā)展階段、不同時間和不同用戶,快速改變網(wǎng)站風(fēng)格;后端重點(diǎn)考慮兩個方面:(1)為前端提供統(tǒng)一接口。(2)高并發(fā)情況下保障網(wǎng)站瀏覽的速度。WEB容器支持熱部署,部署簡單并能夠平滑擴(kuò)容。
2導(dǎo)購網(wǎng)站的關(guān)鍵技術(shù)解析
2.1WEB應(yīng)用框架的選擇
基于JAVA的Struts應(yīng)用框架太重,不能滿足快速迭代的要求。目前在國內(nèi)最流行的基于PHP的WEB應(yīng)用框架簡單易用,開發(fā)出來的產(chǎn)品性能高,但需要寫較多代碼,開發(fā)周期長。綜合導(dǎo)購網(wǎng)站快速開發(fā)的需要及低成本開發(fā)的現(xiàn)實(shí)要求,選擇DJANGO/PYTHON作為系統(tǒng)的.WEB應(yīng)用框架。
Python語法簡潔而清晰,具有豐富和強(qiáng)大的類庫。Django是Python編程語言驅(qū)動的開源模型-視圖-控制器(MVC)風(fēng)格的Web應(yīng)用程序框架,具有便捷、快速、高效的特點(diǎn)[1].導(dǎo)購網(wǎng)站對網(wǎng)站瀏覽者提供的主要是搜索和瀏覽商品功能,對網(wǎng)站管理員提供主要為商品錄入及權(quán)限等功能,基于DJANGO/PYTHON的WEB應(yīng)用框架能迅速的實(shí)現(xiàn)這些功能的開發(fā)。
2.2前端和后端分離
前端開發(fā)和后端開發(fā)應(yīng)用的技術(shù)以及關(guān)注重點(diǎn)不一樣。前端開發(fā)人員關(guān)注的是UI,是網(wǎng)站的樣式,是視覺營銷效果,是系統(tǒng)使用的體驗(yàn);后端開發(fā)人員關(guān)注的是數(shù)據(jù)庫、緩存系統(tǒng)以及功能邏輯。
導(dǎo)購網(wǎng)站前端和后端獨(dú)立開發(fā),代碼完全分開,前后端開發(fā)人員可以各自進(jìn)行開發(fā)和單元測試,極大的提高了開發(fā)效率。前端的各種頁面都是模板化的,例如首頁,可以將其從上到下分為Header、導(dǎo)航條、商品列表以及Footer,根據(jù)后端返回的數(shù)據(jù)在用戶本地渲染成實(shí)際頁面,減少后端渲染對WEB應(yīng)用服務(wù)器造成的壓力。網(wǎng)站的各種要素,包括類目、商品、品牌、廣告位以及營銷活動等進(jìn)行建模入庫,前端通過AJAX接口,傳入資源類型、類目、關(guān)鍵字、標(biāo)簽以及資源名稱從后端獲取數(shù)據(jù);而后端從數(shù)據(jù)庫或者緩存系統(tǒng)中過濾查詢出數(shù)據(jù)后,全部結(jié)構(gòu)化為JSON數(shù)據(jù)返回給前端。
2.3圖片緩存技術(shù)
圖片在導(dǎo)購網(wǎng)站中具有重要地位,能有效地形成消費(fèi)者的主觀印象,帶來強(qiáng)烈的視覺沖擊,促進(jìn)消費(fèi)者購買。網(wǎng)站必須設(shè)計精美的圖片,每種商品都需配備體現(xiàn)營銷創(chuàng)意的大圖、展示細(xì)節(jié)的小圖、展示各個屬性的規(guī)格圖等,一個商品甚至可能配有幾十張圖片。圖片需設(shè)置較高的分辨率和色域,會占用較大的網(wǎng)絡(luò)帶寬資源。高并發(fā)的情況將增加服務(wù)器的壓力,嚴(yán)重減慢瀏覽速度,用戶體驗(yàn)極差,因此必須考慮圖片資源的存儲和加載速度問題。現(xiàn)在存儲空間價格相當(dāng)?shù)土,存儲問題可以通過增加存儲空間來解決。圖片加載速度主要通過圖片延遲加載技術(shù)、圖片緩存技術(shù)及CDN網(wǎng)絡(luò)加速技術(shù)來解決。
WEB頁面打開的時候,整個頁面的所有圖片會依次發(fā)送請求加載,可能出現(xiàn)可見區(qū)域圖片在不可見區(qū)域之后發(fā)送加載請求,結(jié)果出現(xiàn)不可見區(qū)域圖片先加載完畢而可見區(qū)域圖片后加載的情況,給用戶造成頁面圖片遲遲打不開的感受。圖片延遲加載原理就是基于JavaScript語言對瀏覽器窗口的滾動事件進(jìn)行處理,只加載顯示區(qū)域的圖片,從而加快頁面圖片的加載速度。
導(dǎo)購網(wǎng)站將圖片通過Apache部署在單獨(dú)的圖片服務(wù)器中并開啟緩存功能。用戶訪問過的圖片資源被緩存到內(nèi)存,其他用戶再次訪問該資源,將直接訪問內(nèi)存中的圖片,避免再次讀取硬盤等較慢的存儲設(shè)備。
目前大型網(wǎng)站均使用CDN網(wǎng)絡(luò)加速技術(shù),這種技術(shù)采取分布式網(wǎng)絡(luò)緩存結(jié)構(gòu),通過DNS負(fù)載均衡技術(shù)在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的Cache服務(wù)器內(nèi)。在導(dǎo)購網(wǎng)站建設(shè)初期,因訪問量和商品數(shù)量沒有實(shí)現(xiàn)大規(guī)模,可暫緩采用該技術(shù)。但將圖片服務(wù)器單獨(dú)部署,并綁定和WEB服務(wù)不同域名的設(shè)計,為后續(xù)引入CDN網(wǎng)絡(luò)加速預(yù)留下接口。
2.4WEB容器選擇
Nginx是功能強(qiáng)大的輕量Http服務(wù)器,以事件驅(qū)動的方式編寫,高并發(fā)高負(fù)載能力強(qiáng),可以達(dá)到50000個并發(fā)連接數(shù)。導(dǎo)購網(wǎng)站上線早期階段,只需要部署一臺Nginx服務(wù)器即可以滿足要求。Nginx性能穩(wěn)定,部署簡單,并支持熱部署,只需要通過簡單命令更新配置文件,即可以應(yīng)用新的配置,不用重新啟動,可以做到7*24小時不間斷運(yùn)行。Nginx負(fù)載均衡配置簡單,系統(tǒng)性能不足時只需要添加服務(wù)器就可以平滑擴(kuò)容[2].
3結(jié)語
導(dǎo)購網(wǎng)站的設(shè)計要依據(jù)網(wǎng)站的訴求合理選擇相關(guān)開發(fā)技術(shù),網(wǎng)站建設(shè)過程中還需不斷根據(jù)實(shí)際情況完善設(shè)計方案,并嚴(yán)格管理網(wǎng)站設(shè)計和建設(shè)的每一個環(huán)節(jié)。
參考文獻(xiàn)
[1]JeffForcier.DjangoWeb開發(fā)指南[M].機(jī)械工業(yè)出版社,2009.
[2]苗澤.Nginx高性能Web服務(wù)器詳解[M].電子工業(yè)出版社,2013.
【導(dǎo)購網(wǎng)站的核心技術(shù)解析】相關(guān)文章:
4.團(tuán)購網(wǎng)站的賣點(diǎn)解析有哪些