-
1 # SuperBean
-
2 # 會點程式碼的大叔
淘寶網在最早的時候使用的 PHP 開發的系統,不過在 04 年左右,阿里開始把 PHP 換成 Java,然後阿里基本上全線使用的 Java。
因為面對著如此量級的使用者和併發量,所以逼著阿里把 Java 的效能最佳化到極致,並且對於很多開源框架或中介軟體,也將其的效能壓榨到極致,比如 MySQL,另外阿里也貢獻了極多及優秀的開源框架。
讓我們看看阿里都用到或用過哪些技術最初淘寶使用的是 LAMP,也就是 Linux + Apache + MySQL + PHP;隨著業務量和併發量的上升,開始轉用 IOE,也就是 IBM 小型機 + Oracle + EMC 儲存,然後隨著 PV 的繼續上升,IOE 的框架已經到了瓶頸,阿里提出了“去 IOE”的口號,隨著 PHP 向 Java 的遷移,分散式平臺開始誕生;
關於快取,從最早的 ESI 做頁面片段快取,到 TBstore 分散式 Key-Value 快取,發展到現在的自研分散式快取系統 Tair;
負載均衡技術:Nginx、HAProxy,都是工作在網路第七層的反向代理軟體;上了阿里雲之後,有一個負載均衡的服務 SLB,提供給所有的阿里雲使用者使用;
分散式服務框架,紅極一時的 Dubbo,阿里後來選擇了 HSF 用於系統間的呼叫,是一個分散式 RPC 框架;
訊息中介軟體:Notify 是阿里自研的訊息服務引擎,也是支撐雙十一的核心繫統之一;
分散式資料庫訪問:TDDL 是 Taobao 分散式資料層的意思,資料儲存可以自由擴充套件,不再受單機容量的瓶頸,後來改了個名字叫做 DRDS (分散式關係資料庫服務)。
再看看阿里貢獻過哪些開源專案FastJSON:一個性能很好的 Java 語言實現的 JSON 解析器和生成器;
Dubbo:高效能的分散式服務框架,可以透過高效能的 RPC 實現服務之間的呼叫;
Druid:一個高效的 JDBC 連線池、監控元件;
AliSQL:開源資料庫,是基於 MySQL 官方版本的一個分支;
RocketMQ:分散式訊息中介軟體;
ApasaraCache:飛天快取,基於 Redis 改進的 K/V 資料庫;
FastDFS:一個開源的分散式檔案系統;
OceanBase:個支援海量資料的高效能分散式資料庫系統;
Zeus:是一個完整的 Hadoop 作業平臺,它支援了任務的整個生命週期;
Otter:基於資料庫增量日誌解析,將資料準實時同步到另外的資料庫中,是一個分散式資料庫同步系統。
當然,這些專案只是阿里開源專案中很小的一部分,目前阿里系基本是全線 Java,而且技術水平在國際上也是一流的。
-
3 # 胖哥雜談之
淘寶作為全球數一數二的大流量網站,可以說是技術和業務完美融合的典型,業務驅動著技術不斷升級,反過來技術又加快了業務的發展,所以才有了阿里巴巴這麼大體量和業務量的公司。
淘寶現在的開發語言是全線Java體系,整體Java架構,這也是中國電商平臺甚至大部分網際網路公司都採用的開發語言,像京東,蘇寧,國美,滴滴,美團都是Java體系。
淘寶採用Java作為主要開發語言,在不斷業務發展過程中,也積極參與到Java開源的世界,並貢獻了很多有實戰經驗的開源架構,這對Java的推廣起到了很好的作用,並讓中國的技術有了全球的貢獻度,讓中國慢慢從技術的使用者變成了技術的創新者,所以另一層面來說阿里巴巴讓中國Java走向了世界。
說起淘寶研發出來,經過各種大促實戰並無償開源出來的框架很多很多,其中最出名的有以下幾種:
FastJsonDubboAltas這幾天華為被美國再三制裁,這讓我們很氣憤,同時希望華人發奮圖強,在科技和技術上能站穩腳跟,讓那些川建國們狠狠打臉。
-
4 # 豆姐扒科技
技術層面上面已經有很多IT大佬回答了,我就不重複了,只說一件事。
透過這個問題,發現提問的小老弟對技術可能比較感興趣,這個問題完整的問法應該更全面一點,我幫小老弟補充一下,或者能夠對其它需要的朋友有幫助。
其實淘寶是一個超級巨大,超級複雜的IT專案,簡化之後整個淘寶包括了前端和後端。
前端就是我們能夠看到,比如電腦網頁版的淘寶網、安卓手機的淘寶APP、蘋果手機的淘寶APP、還有移動H5版本,它們分別都會用到不同的開發語言,甚至同一個端也有可能採用混合開發;
如果是問前端這個問題是這樣的:淘寶安卓端APP是用什麼語言開發的?
淘寶網後端是使用者看不到的,是支撐整個前端執行的基礎,就像我們看一臺車能跑,其實不光是輪子在轉動,汽車裡面是有發動機、變速箱、轉向、制動等等一系列的部件在配合,這些就可以類比成淘寶網的後端。
因為淘寶的業務的極度複雜,所以後端也不是一種語言,也不可能由一種語言完成,甚至可能每一個業務會用不同的語言,利用不同語言的特點。
所以後端具體的問題可以這樣:淘寶後端訂單系統是用什麼語言開發的,用的什麼資料庫?
-
5 # 訶綺紀萊
Java,中臺
想要學做網站,APP不一定仿照別人的語言,任何一門語言都是可以做得,這個就得看開發的簡易度。
回覆列表
淘寶的技術架構一直在變的,分幾個階段:
V1.0:小而快(2003.5 – 2004.5)2003年淘寶誕生,用的是LAMP經典架構(linux+apache+mysql+php),後端用的是php語言
V2.0:多層次結構,開始做自己的軟體(2004.2 – 2008.3)2004年在淘寶業務發展的推動下,淘寶開發參考了電信運營商、銀行等的一些企業解決方案,將LAMP架構改造為Oracle+IBM小型機的資料庫架構和EMC儲存方式。為了配合Oracle,php也徹底被替換為java。
V3.0:產品化思維及服務導向框架(2007.10-2009.11)2007年,淘寶全年的交易額超過400億元,平均近1億多一天,每天有100多萬筆交易被建立。淘寶被改造成分散式架構,引入快取,分散式儲存和分散式搜尋引擎。這時候應用伺服器使用的是JBoss,資料庫又從Oracle變成了MySQL,語言還是java。
V4.0:系統化、智慧化、專業化(2009.8-)從2010年開始,淘寶網重點著眼於統一架構體系,從整體系統層面考慮開發效率、運維標準化、高效能、高可擴充套件性、高可用、低成本方面的要求,底層的基礎架構統一採用了阿里雲計算平臺。這時候的web後端語言沒變,還是java。
順便說一下,上圖的中介軟體也是java開發的,java語言在阿里應用非常廣,大約90%以上的系統是由Java技術構建。