阿里技术专家:日活5亿的淘宝技术发展历程和架构经验分享!18页ppt详解
點擊“技術領導力”關注???每天早上8:30推送
作者|?Mr.K ??編輯| Emma
來源|?技術領導力(ID:jishulingdaoli)
本文整理自,阿里高級技術專家 王晶昱,在技術大會上的分享的《淘寶技術發展歷程和架構經驗》。
淘寶的整個發展過程,技術架構演進歷程,以及演進過程中的思考,對我們是有借鑒意義的,尤其是正處在快速發展期的系統。架構如何演進、如何更好的對業務支撐、如何設計數據存儲方案等等。以下是正文:
01
淘寶前期的技術架構
淘寶早期,上百人維護一個核心工程,會造成代碼沖突問題特別嚴重,項目團隊之間協同代價高。人員更新速度比較快,代碼交接比較困難,源代碼膨脹很快。
這個階段在使用JBoss服務器、Spring框架、OR-Mapping框架等,也開始用到一些cache、分布式文件系統。
(本文圖片來源@阿里中間件團隊)
02
淘寶前期技術發展的問題
主要有三個問題:
1.業務支持緩慢,所有東西交叉盤繞在一起。
2.數據孤島。數據庫總是被不明來源的SQL查掛,同類數據格式不統一,無法形成合力。
3.數據庫能力達到上限。無法支撐海量數據,及巨量讀寫請求。
數據庫CPU90%以上,每年down機最少一次,連接數不夠用。
維護人員多,團隊職責不清,數據無法共享,團隊各自為戰。
小型機數據庫壓力過大連接數,單點系統風險很高。
03
淘寶3.0架構應運而生
淘寶3.0架構的特性:
服務化(SOA)?。系統專業化分工,減少學習成本。拆分出了第一個業務服務中心:用戶中心 (UIC),在2008年初上線,標志著淘寶分布式架構的一個里程碑。接著,千島湖項目上線,包括交易中心(TC) ,類目屬性中心(Forest)。以及五彩石項目,包含:店鋪中心(SC) ,商品中心(IC) ,評價中心 (RC)。
組織結構支持。在組織架構上也隨之改變,按職能拆分成:服務中心團隊、中間件團隊、垂直產品團隊,分式上更加精細化。
數據庫拆分。可按需擴容、盡可能對業務透明、用代理模型減少連接數,選擇恰當的切分維度。按業務場景的需要進行拆分,比如:訂單表按用戶維度、時間維度進行表拆分,數據異構等等,都是在這個時期開始做的。
04
淘寶3.0技術架構全景圖
淘寶3.0技術架構,從用戶場景來看,用戶發起一個請求,透過CDN層,到達Web應用層,在IDC內部這些請求,通過EDAS分發到各個業務服務中心,如商品中心、用戶中心等等。這些應用會訪問OCS緩存服務、OSS文件存儲服務。
通過數據庫訪問層,SQL查詢被路由到各分庫、分表當中,部分查詢調用搜索引擎opensearch。
這個技術架構,支撐著天貓、淘寶、國際、聚劃算等事業群,以及他們下面的具體業務線,如高德、阿里健康、釘釘等。
05
淘寶服務化系統的演進
淘寶服務化系統的演進,包括:
服務化架構。把應用打散拆分,能力和業務內聚形成統一服務能力單元。
自動化、高可靠。任何節點、鏈路夾在昂,能夠自動檢測,優化確保高可用。
去中心化,線性擴展。服務能力,隨著資源增加微服務級線性性能和擴容。
數據化運營。服務運行實時監控,數據積累可視化,提供系統優化基礎。
異步化,最終一致性。高性能消息服務框架、系統應用盡量無狀態化,確保最終一致性。
使用成熟組件。使用在生產環境中證明過的可靠成熟組件,用戶量翻倍,系統復雜度也會翻倍。
06
淘寶服務化架構
服務化特征。系統由服務單元組成,服務能力開放,數據共享,團隊垂直化。
?優勢。業務支撐更敏捷,利于數據分析與挖掘,無數據孤島,技術引領無限可能
07
系統架構去中心化,線性擴展
特征:整個系統無單點,系統中所有角色可單獨擴縮,故障影響小。
優勢:應用更穩定、擴展性好。
08
異步化,最終一致
流程異步化,去鎖,并行,最終一致。
降低延遲,提升用戶體驗;系統解耦合,提升開發效率;部分替代分布式事務功能。
09
使用成熟基礎組件
選擇用戶廣泛的產品,選擇經過4~6年左右的穩定期的軟件,規避銷售主導的軟件產品。
保證項目按期支付,保證項目上線后的系統穩定,出現問題以后有充分的掌控力
10
運維工作自動化
運維自動化,水平擴展自動化,部署自動化,故障處理自動化。云計算的基本屬性,人不能隨著機器增加而增加。
11
數據化技術運營
具有億級數據的分鐘級計算能力、 成熟的數據化運維/運營工具 、 技術、管理、運營有數據化運 營的方法論和意識的特征。具有 改善可量化,更科學、1分鐘內故障確切定位位置、 “不能比我們的客戶更晚知道 我們不可服務“的優勢。
12
阿里關鍵技術組件介紹
主要包括:企業級分布式應用服務(EDAS),阿里分布式數據庫服務(DRDS),阿里分布消息服務(ONS)。
企業級分布式應用服務(EDAS),包括對各個服務化組件,進行鏈路監控治理,服務調用是否健康,故障自恢復等。
分布式數據庫(DRDS),可無限線性擴容的分布式數據庫,最大節點數超過500臺機器,容量、吞吐 線性增長。
可運維的分布式數據庫,分布式DDL語句支持,平滑流暢的控制臺體驗,各類MySQL 圖形工具兼容。
兼容復雜MySQL語法的分布式數據庫,分布式跨機Join,跨機分頁聚合,多機嵌套查詢,MySQL函數兼容性支持 ,在多個政務類場景中應用廣泛。
分布式消息通知系統(ONS),通過消息將業務系統解耦,持久化消息,100%可靠;支持集群訂閱;支持事務消息。
12
本文小結
一、淘寶前期技術發展的三個問題:
業務支持緩慢,所有東西交叉盤繞在一起。
數據孤島。數據庫總是被不明來源的SQL查掛,同類數據格式不統一,無法形成合力。
數據庫能力達到上限。無法支撐海量數據,及巨量讀寫請求。
二、淘寶3.0架構的特性:服務化(SOA) 、組織結構支持、數據庫拆分。
三、淘寶服務化系統的演進,包括:
服務化架構。把應用打散拆分,能力和業務內聚形成統一服務能力單元。
自動化、高可靠。任何節點、鏈路夾在昂,能夠自動檢測,優化確保高可用。
去中心化,線性擴展。服務能力,隨著資源增加微服務級線性性能和擴容。
數據化運營。服務運行實時監控,數據積累可視化,提供系統優化基礎。
異步化,最終一致性。高性能消息服務框架、系統應用盡量無狀態化,確保最終一致性。
使用成熟組件。使用在生產環境中證明過的可靠成熟組件,用戶量翻倍,系統復雜度也會翻倍。
如果覺得本文對您有幫助,請點在看、分享朋友圈,感謝您的支持!
?-END-?
關注“技術領導力”公眾號
用故事講技術,有趣,有料!
想加入社區,跟100位互聯網大咖學習?
請在公眾號中回復:“加群”
大家在看:
1.迷信中臺是一種病,得治
2.微信架構總監:10億日活場景下的微服務架構
3.雷軍、張小龍:為何高手的努力深入而輕松
4.阿里VP李飛飛:下一代云原生數據庫技術
5.馬化騰和張一鳴的灰度思維是什么?
6.我是如何在獨角獸公司做業務中臺、數據中臺?
喜歡就點在看!
總結
以上是生活随笔為你收集整理的阿里技术专家:日活5亿的淘宝技术发展历程和架构经验分享!18页ppt详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 22年低分上岸成都电子科技大学计算机经验
- 下一篇: 程序员发展职业规划_梁胜博士:写给程序员