1. 程式人生 > >京東商城技術架構:前端.NET後端Java

京東商城技術架構:前端.NET後端Java

儘管劉強東的危機公關做得很到位,即使京東商城增加了三倍伺服器,技術問題依舊沒有解決。隨後東商城進行了技術構架調整,基於歷史原因前端技術依然使用.NET技術開發並且進行了大規模的效能優化,將系統後臺使用JAVA技術進行重構,暫時性的緩解了系統訪問壓力。

  春運期間,鐵道部的現任老大12306網站在面對日均10億多次的點選量時,頻繁癱瘓,給我們帶來的慘痛教訓是,關鍵時刻掉不能掉鏈子,這也印證了科技是第一生產力。
  而說起中國自主經營式B2C網站的行業老大,京東商城在2011年第三季度京東商城創下了37.8%的市場佔有率。 2011年6月18日,京東商城6週年店慶當天訂單量接近50萬單、單日銷售額超過2億元,在中國電子商務市場創下單日銷售量歷史紀錄。那麼,面臨如此大規模併發訪問壓力,京東商城採取了何種技術架構的B2C系統來支撐其運營呢?

  前端採用.NET技術架構
  說起京東商城,不得不提到它的掌門人,2011CCTV十大經濟人物“劉強東”。劉強東畢業於中國人民大學,理科超強的他業餘時間自學程式設計。在創立京東商城的早期,劉強東選用了最為熟悉的.NET,直到現在,京東商城的前端部分仍然沿用.NET技術架構。
  後端採用Java技術
  京東商城連續六年200%以上的增長率,並不能掩蓋其背後隱含的技術難題。比如,在2011年11月1日京東商城的圖書促銷活動中,由於促銷活動僅限時 1個小時,消費者瘋狂搶購導致伺服器不堪重負,最終癱瘓。為平息消費者的抱怨,劉強東在微博上表示:“重搞活動,增加3倍伺服器,活動時間不能低於3小時。”儘管劉強東的危機公關做得很到位,即使京東商城增加了三倍伺服器,技術問題依舊沒有解決。

  隨後京東商城進行了技術構架調整,基於歷史原因前端技術依然使用.NET技術開發並且進行了大規模的效能優化,將系統後臺使用JAVA技術進行重構,暫時性的緩解了系統訪問壓力。
  據最新訊息,京東商城已經投入了大量資金邀請國外的諮詢公司做技術策略顧問,並開始大規模招聘JAVA研發人員,這一點從京東商城的“人才招聘”頁面就可以看出。預計在未來不久京東商城將全面切換至JAVA架構了。
  團購採用PHP技術
  據團購導航網站團 800最新統計,2011年國內團購市場交易總額達110億元,比2010年實現了550%的增長;超過3億人次“抱團”消費,而按全年平均折扣3.6折計算,團購為全國消費者共節省了超過190億元的消費支出,比2010年多省了156億元。

  看看上述這組數字,就不難想象京東商城對於團購的蛋糕是多麼的垂涎欲滴。與眾多團購網站一樣,京東商城的團購頻道採用了高效率的PHP技術。與其它語言相比,PHP是將程式嵌入到HTML文件中去執行,執行效率比完全生成HTML標記的CGI要高許多;與同樣是嵌入HTML文件的指令碼語言JavaScript相比,PHP在伺服器端執行,充分利用了伺服器的效能;PHP執行引擎還會將使用者經常訪問的PHP程式駐留在記憶體中,其他使用者在一次訪問這個程式時就不需要重新編譯程式了,只要直接執行記憶體中的程式碼就可以了,這也是PHP高效率的體現之一。PHP具有非常強大的功能,所有的CGI或者JavaScript的功能PHP都能實現,而且支援幾乎所有流行的資料庫以及作業系統。
  UI採用jQuery外掛
  習慣網購的朋友都深有體會。大部分皇冠級淘寶賣家都是圖片控。京東商城的放大圖效果也是吸引消費者的法寶之一。京東商城產品展示頁支援多圖切換並放大程式碼,放大功能的核心程式碼為jQzoom,當把滑鼠移到下邊的小圖上的時候,上邊顯示大圖片,當把滑鼠放到大圖片上,右側則出現滑鼠對應地方的大圖片,方便檢視產品細節,比較適合網店產品展示。
  JQZoom 是一個JavaScript影象放大鏡,內建在流行的jQuery JavaScript框架頂部。jQzoom 功能非常強大,操作較為簡單。支援標準模式、反轉模式、無鏡頭、無標題的放大,並可以自定義jQZoom的視窗位置和漸隱效果.
  今日,京東商城高調宣佈招聘2萬人。筆者查看了一下京東商城招聘頁面,發現很多研發職位。這也從側面回擊了專業人士關於“京東商城大手筆在搶購市場上燒錢,但其物流和後臺系統技術上卻沒有跟上腳步”的質疑。


相關推薦

京東商城技術架構前端.NETJava

儘管劉強東的危機公關做得很到位,即使京東商城增加了三倍伺服器,技術問題依舊沒有解決。隨後東商城進行了技術構架調整,基於歷史原因前端技術依然使用.NET技術開發並且進行了大規模的效能優化,將系統後臺使用JAVA技術進行重構,暫時性的緩解了系統訪問壓力。   春運期間,鐵道

2019年Web程式設計師路線圖前端開發+開發+DevOps

Web開發人員路線圖已經連續釋出三年,由Github平臺的kamranahmedse倡導,2019版本彙集了19位貢獻者。跟往年一樣,技術思維導圖涵蓋前端開發+後端開發+DevOps,話不多說,直接上圖。 想要學習Web前端的小夥伴,在這推薦下自己的Web學習群:585843

2019年Web程式設計師最新路線圖前端開發+開發+DevOps

Web開發人員路線圖已經連續釋出三年,由Github平臺的kamranahmedse倡導,2019版本彙集了19位貢獻者。跟往年一樣,技術思維導圖涵蓋前端開發+後端開發+DevOps,話不多說,直接上圖。   在這裡我還是要推薦下我自己建的web前端開發學習裙:659

前端陣列 java mvc list 接收

簡單說下情況:前端陣列傳遞引數 批量刪除資料 發現後端用list不能直接接收 開始做法就是1、前端宣告陣列var ids = [];2、利用push和join方法拼接for(var i=0; i<rows.length; i++){ ids.push(rows[

京東商城架構師、基礎平臺負責人劉海鋒京東雙11創新技術實踐

我們在今年採用軍演壓測機器人,儘量模擬使用者的行為,發起很大的流量,在公網發起流量,一般是凌晨後半夜做壓測,即做全鏈路的讀寫的緩和的壓測,假設我能僱傭到一億個人,同時來訪問京東或者是天貓或者是其他網站,肯定能夠把系統的很多的問題暴露出來。但是你不可能僱傭到一億人,也找不到這1億個人,怎麼辦? 這需要寫一些機器

系統架構Web應用架構的新趨勢---前端分離的一點想法

  最近研究servlet,看書時候書裡講到了c/s架構到b/s架構的演變,講servlet的書都很老了,現在的b/s架構已經不是幾年前的b/s架構,其實b/s架構就是web應用開發,對於這樣的架構我們現在應該考慮的是前端和後端的分離(注意:這裡的後端是指服務端)。   Web前端現在是一個獨立的技術工種,

《大型網站技術架構核心原理與案例分析》-- 讀書筆記 (5) 網購秒殺系統

案例 並發 刷新 隨機 url 對策 -- 技術 動態生成 1. 秒殺活動的技術挑戰及應對策略 1.1 對現有網站業務造成沖擊 秒殺活動具有時間短,並發訪問量大的特點,必然會對現有業務造成沖擊。對策:秒殺系統獨立部署 1.2 高並發下的應用、

《大型網站技術架構核心原理與案例分析》【PDF】下載

優化 均衡 1.7 3.3 架設 框架 應用服務器 博客 分布式服務框架 《大型網站技術架構:核心原理與案例分析》【PDF】下載鏈接: https://u253469.pipipan.com/fs/253469-230062557 內容簡介 本書通過梳理大型網站技

閱讀《大型網站技術架構核心原理與案例分析》第五、六、七章,結合《河北省重大技術需求征集系統》,列舉實例分析采用的可用性和可修改性戰術

定時 並不會 表現 做出 span class 硬件 進行 情況   網站的可用性描述網站可有效訪問的特性,網站的頁面能完整呈現在用戶面前,需要經過很多個環節,任何一個環節出了問題,都可能導致網站頁面不可訪問。可用性指標是網站架構設計的重要指標,對外是服務承諾,對內是考核指

《大型網站技術架構核心原理與案例分析》結合需求征集系統分析

運行 模塊 正常 一致性hash 產品 進行 OS 很多 層次 閱讀《大型網站技術架構:核心原理與案例分析》第五、六、七章,結合《河北省重大技術需求征集系統》,列舉實例分析采用的可用性和可修改性戰術,將上述內容撰寫成一篇1500字左右的博客闡述你的觀點。 閱

大型網站技術架構摘要與讀書筆記

思想 發展 感覺 物理 消息隊列 高可用架構 小時 整體 年度   花了幾個晚上看完了《大型網站技術架構》這本書,個人感覺這本書的廣度還行,深度還有些欠缺(畢竟只有200頁左右)。但是作為一個缺乏大型網站技術的IT民工,看完一遍還是很有收獲的,至少對一個網站的技術演進

《大型網站技術架構核心原理與案例分析》讀後感

TP bubuko 一個 nbsp 分享 架構 優化 技術分享 src 李智慧的著作《大型網站技術架構:核心原理與案例分析》,寫得非常好, 本著學習的態度,對於書中的關於性能優化的講解做了一個思維導圖,供大家梳理思路和學習之用。拋磚引玉。 《大型網站技術架構

《大型網站技術架構核心原理與案例分析》筆記

· 大型網站軟體系統的特點 · 大型網站架構演化發展歷程     · 初始階段的網站架構         · 需求/解決問題         · 架構     · 應用服務和資料

現代前端技術解析前端跨棧技術

一、JavaScript 跨後端實現技術 Node 後端開發基礎 Web 伺服器基礎知識 簡單的資料庫設計能力 後端 MVC 設計理念 後端非同步,Node 服務端非同步程式設計 模組化思想 中介軟體技術 介面設計規範 後端部署技術和基本運維能力

利用Ajax實現前端與.net實現資料互動

使用場景和需求:使用者在位址列輸入請求地址,先.net伺服器傳送頁面請求,該頁面包含Echart圖表,在頁面中向.net後端傳送資料請求,獲取資料後,將資料填充到Echart圖表中。其中包含帶參與不帶參的請求方式。 不帶引數的請求例子。假設使用者訪問的URI為/HomeEx/ResidentEndowmen

《大型網站技術架構核心原理與案例分析李智慧》pdf附網盤下載連結送給還在迷茫的你

Detect languageAfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chines

第一個SSM前端專案(六)完善註冊處理並設定郵箱啟用模式

一、註冊功能後端設計     二、根據設計可以看出我們需要redis來做啟用碼的儲存工作,因此需要在框架中繼承redis 1) 在linux伺服器中安裝redis(建議在伺服器中直接安裝,這樣正式執行的時候比較好操作),可以檢視此篇文章:騰訊雲CentOS 7.4 64

《大型網站技術架構核心原理與案例分析》讀書筆記 - 第2篇 架構

第2篇 架構 4 瞬時響應:網站的高效能架構 34 4.1 網站效能測試 35 效能測試是效能優化的前提和基礎,也是效能優化結果的檢查和度量標準。 4.1.1 不同視角下的網站效能 35 使用者:直觀感受到的快慢 開發:應用程式本身 運維:基礎設施效能和資源利用率 4.1.2 效

安卓前端如何與.net通訊(一)

今天在公司工作,由於專案人手不夠,後端是使用.net開發的,然後一個寫交換的哥們不知道如何下手。 剛開始,我也是狗吃王八無從下口。 回想一下以前做的開發,任何與後端的通訊,無非就是找到後端的相應路徑,然後加上對應的引數,就能完成對應的功能。 例如: 一、在瀏覽器中,用百度搜

《大型網站技術架構核心原理與案例分析》讀書筆記

第六章伸縮性,網站的演化分離過程可以分為三類, 第一類大的系統級別的分離,例如資料庫系統,快取系統,檔案管理系統(靜態資源),演化過程為:為單一伺服器->資料庫分離->快取分離->靜態資源分離。 第二類業務流程的抽象分離,從下到上的模組為:資料庫->基礎技術服務->可複用業務