綠色排版工具|熱門專題|網站地圖|移動官網|微信編輯器
您的當前位置:網站首頁 > 網站分析 > 正文

京東商品詳情頁應對“雙11”大流量的技術實踐

來源:未知 編輯:狂奔小螞蟻 時間:2016-03-07 22:30:04 閱讀:
  此文是根據京東資深Java工程師張開濤在msup主辦的 into100沙龍第14期《京東商品詳情頁應對大流量的一些實踐》演講中的分享內容整理而成。
  大家好。我今天帶來的是京東商品詳情頁應對大流量的一些實踐。大家來京東打開商品頁一般會看到如通用版、閃購、全球購等不同的頁面風格,這里面會牽扯到各種各樣垂直化的模板頁面渲染。以前的解決方案是做靜態化,但是靜態化一個很大的問題就是頁面改版時需要重新全量生成新的靜態頁。我們有幾億個商品,對于這么多商品,你如果生成頁面的話需要跑很多天,而且還無法應對一些突發情況。
  比如新的《廣告法》,需要對一些數據進行清洗,后端清洗時間和成本來不及,那么很多時候就是從前臺展示系統來進行數據過濾。因此需要非常靈活的前端展示架構來支持這種需求。 http://www.binhtp.live/
  首先這是我們前端首屏大體的結構。首屏有標題、價格、價格、庫存服務,服務支持,延保服務等,對于中心區有很多很多種服務。而這么多的服務只是首屏里的一部分。對于這么多服務如何在這個頁面里,或者在一個頁面里讓它非常非常好的融合進來,這是我們要去解決的問題。
 京東商品詳情頁應對“雙11”大流量的技術實踐
  而第二屏大家看到的就是廣告等等的。在這兒會有品牌服務,因為京東有第三方商家,我們會提供廣告位,叫商家模板。還有像商品介紹、評價、咨詢等等,這一屏也包含了很多的服務。
  商品詳情頁涉及的服務
  對于商品詳情頁涉及了如下主要服務:
  商品詳情頁HTML頁面渲染
  價格服務
  促銷服務
  庫存狀態/配送至服務
本文來自小螞蟻站長吧

  廣告詞服務
  預售/秒殺服務
  評價服務
  試用服務
  推薦服務
  商品介紹服務
  各品類相關的一些特殊服務
  對于詳情頁我們采用了KV結構存儲,但它是長尾,即數據是離散數據。這種方式的話,如果你做一般緩存的話,可能效率并不是特別高,只會緩存一些熱點,像一些秒殺的商品放在緩存會有效果。這里還涉及到很多爬蟲和一些軟件會抓取我們頁面,如果你緩存有問題的話,你的數據很快就會從緩存中刷出去。所以設計的時候要考慮離散數據問題。
  詳情頁技術架構的發展
  最早期的時候,我們商品詳情頁采用.NET技術,但是隨著商品數量增加,而且隨著商品數據庫結構設計復雜性的變化,后來我們就生成了靜態頁,通過JAVA生成頁面的片段,像商品介紹等等,都是通過一個一個片段輸送出去的。在這一層我們其實遇到過很多問題,比如這里會生成很多的小文件,小文件如果你的磁盤用EXT3或者其他的話,會受到INODE的限制。 本文來自小螞蟻站長吧
  另外一個問題,我們生成這種頁面片段的話,經常會涉及到,如果頁面整體風格改變的話需要進行全量的數據刷新。比如要支持閃購單品也。對于這種的話,我們就需要把所有閃購頁面重新生成靜態頁。如果我們業務變化很快,說這個頁面不是我要的,就需要重新生成靜態頁,再重新刷一下。這對幾萬數量的商品沒問題,但是現在我們的商品規模量很龐大,這樣的話,可能會把依賴的系統刷掛,因為你調用的依賴方會非常多。假設我們現在依賴的有二十個,每一個頁面要調動二十多個來源來拿到相應的數據。
  后來我們發現這個問題,其實最主要的就是頁面模板變更的速度不能滿足我們需求;另一個,靜態頁我們用的機械盤,當遇到大流量時會非常非常慢。后來我們將它動態化,通過JAVA Worker把數據存到KV存儲里,前端就是Nginx+Lua,這樣模板就是數據全動態化。對于這套架構我們現在已經在線跑了一年多,整體的性能非常穩定,平均響應時間在50毫秒之內,基本可以保持在30~40ms左右。對于這套設計,現在變更需求可以非常迅速的去響應。 本文來自小螞蟻站長吧
  我們有一個商品詳情頁異構系統,依賴的服務非常多。我們用它把相關的數據源抓過來,同步Worker會把數據按照維度進行聚合。有商品維度,還有其他維度,比如商品介紹、分類、商家、品牌,對于這些維度我們都會分開進行存儲。比如展示商品詳情頁時,讀取商品信息、商品相關信息:分類,商家,品牌等等信息然后渲染頁面即可;而商品介紹讀出來吐出去就可以了。
  這個其實本質也是靜態化思想,是把數據做的靜態化,而沒有把頁面靜態化,這樣的好處是頁面模塊可以隨時變更。另外你只要保證數字是原子化,原子化就是你沒有對它進行再加工,這樣就可以對它再利用再處理。

相關文章推薦:

圖文精選:

Copyright?2012-2030小螞蟻信息網版權所有 站長QQ:1614558876 粵ICP備14061018號-1


鄭重聲明:本網站資源、信息來源于網絡,完全免費共享,僅供學習和研究使用,版權和著作權歸原作者所有,如有不愿意被轉載的情況,請通知我們QQ1614558876刪除已轉載的信息。

Top 韩国2分彩全天计划