淘寶架構技術的演變

     咱們都知道,淘寶網的橫空出世是在2003年,也就是但年SARS流行的時候,當初淘寶用的是如今看來也是十分流行的LAMP架構,即Linux+Apache+MySql+Php,的一個很是經常使用的架構模型,當時淘寶已經使數據庫實現了讀寫分離,從數據庫都只能是支持只讀操做,在主數據庫上才能進行寫操做,同時,有了備份,也使得安全性也增長了。sql

     隨着淘寶網的發展規模迅速,當初的那個小網站已經不足以支撐當時的狀況了,第一步要改的就是換數據庫了,因此天然阿里巴巴的DBA團隊把MySQl換了Oracle了,Oracle數據庫的併發和和性能天然是比MySql好不少,還爲此作了專門的數據庫鏈接池,同時淘寶的DBA們也對SQL進行了優化。可是當時仍是出現了問題,有的時候會出現死鎖。數據庫

過了一年,也就是04年,淘寶網面臨着一個巨大的變革,以前存在的問題遲遲未能解決,因此淘寶的技術人員準備更換開發語言了,Java是當時比較流行的開發語言,固然在如今也是很是流行,並且是當時世界上大規模網站廣泛採用的語言。可是要把好端端的語言徹底的更換成另外一種語言,難度可想而知,可是阿里巴巴比較牛逼,請了sun公司的人來改造,顯然他們更懂Java,他們先保留原來的功能模塊,而後逐步遷移,最後完成全部的改造。當時的阿里巴巴打造了一個本身用的mvcWebX,頁面支持JSP ,持久層支持ibatishibernate,控制層能夠用EJBSpring,Sun的這幫工程師咱們改造完了淘寶網以後,用一樣的架構作了一樣在後來很出名的網站,叫作「支付寶」。緩存

一臺數據庫的處理能力是有限的,淘寶的作法,把用戶的信息按照ID存放到了2個數據庫中,DB1DB2,除了分庫,分表,仍是什麼辦法能提高系統的性能呢,1個是緩存,1個是CDN加速。CDN這個工做比較獨立,當時淘寶的人專門搭建了本身的CDN網絡,他們一開用的是商用CDNChinaCache。在這個穩定的版本下,淘寶網的業務有了日新月異的發展。安全

  隨着淘寶的數據量愈來愈大,成本也隨之愈來愈來高,並且將來淘寶的數據必定還會呈現爆炸信的增加的,自此,開始了淘寶網本身研發的技術之路,當時的目標就是爲了存儲一些相關的圖片,當時的Google,公佈了GFS的設計論文,這給阿里巴巴的技術人員帶來了不少思路,後來,淘寶的文件存儲系統上線運營,取名TFS,這和後來的騰訊的文件系統同樣的名字,都叫作TFSTFS系統參照了GFS作了大量的修改,集羣由一對NameSever結點和多臺DataServer構成,每一個DataServer運行在一個普通的Linux機上。與TFS文件系統一塊兒出來的還有一個淘寶KV-緩存系統,Tair.Tair 做爲一個分佈式系統,由一箇中心控制結點,和一系列的服務結點,Data Server對外提供各類數據服務,並以心跳的形式,將自身的情況報告給Config Server網絡

到了06年,淘寶又經歷了服務模塊化的過程,對系統進行拆分的好處顯而易見,拆分以後的系統須要2種中間件系統,1種是實時的調用的中間件,高性能,HSF,高性能服務框架,另外一種是異步消息的中間件,Notify,一筆交易的發生會致使10幾回的通知。架構

阿里巴巴的技術團隊在後來還增長了專門管理Session的集羣服務,用以保留用戶狀態,後來也用了大數據比較流行的Hadoop平臺。最近幾年淘寶已經在使用本身研發的Oceanbase數據庫,這個數據庫結合了傳統RDBMSNosql的一些優勢,因爲,單獨的適用於淘寶網當前的一個情況。不過如今都已經開源了,你們能夠學習學習其中的設計思想。併發

好了,淘寶的技術演變就說到這裏了,都是網上的和書上看到的拼湊在一塊兒的,不得不佩服阿里的技術的大牛們,作出了這麼龐大的系統。mvc

相關文章
相關標籤/搜索