淘寶組織結構分析?
淘寶網的架構分析(小組)一個成熟的大型網站(如淘寶、京東等)的系統(tǒng)架構需要考慮諸多復雜的因素,因為像淘寶這種大型網站數據量比一般的網站要大的多,所以在設計架構方面也要復雜的多,既要考慮成本因素也要考慮訪問速度安全性等。這里我簡單的對淘寶的網站系統(tǒng)架構進行一個簡單的分析。
淘寶作為一個大型購物網站,其數據量是很大的,所以不像一般網站,淘寶需要用各種方法來保證服務器的正常運行以及用戶購買時的良好體驗。主要由以下方式:1.應用、數據、文件分離 2.利用緩存改善網站性能 3.使用CDN和反向代理提高訪問速度 4.使用分布式文件系統(tǒng)
5.將應用服務器進行業(yè)務拆分
首先隨著作為大型購物網站,一臺服務器已經肯定滿足性能需求,所以將應用程序、數據庫、文件各自部署在獨立的服務器上,并且根據服務器的用途配置不同的硬件,達到最佳的性能效果。在硬件優(yōu)化性能的同時,同時也通過軟件進行性能優(yōu)化,在大部分的網站系統(tǒng)中,都會利用緩存技術改善系統(tǒng)的性能,使用緩存主要源于熱點數據的存在,大部分網站訪問都遵循28原則(即80%的訪問請求,最終落在20%的數據上),所以我們可以對熱點數據進行緩存,減少這些數據的訪問路徑,提高用戶體驗。
由于功能復雜,用戶訪問路徑長,淘寶選擇對這些數據進行緩存以提高用戶的訪問速度。緩存實現常見的方式是本地緩存、分布式緩存。本地緩存,顧名思義是將數據緩存在應用服務器本地,可以存在內存中,也可以存在文件,本地緩存的特點是速度快,但因為本地空間有限所以緩存數據量也有限。分布式緩存的特點是,可以緩存海量的數據,并且擴展非常容易,在門戶類網站中常常被使用,速度按理沒有本地緩存快。同時提供均衡負載服務器來分擔主要服務器的壓力。
使用CDN和反向代理提高網站性能。由于淘寶的服務器不能分布在國內的每個地方,所以不同地區(qū)的用戶訪問需要通過互聯路由器經過不同長度的路徑來訪問服務器,返回路徑也一樣,所以數據傳輸時間比較長。對于這種情況,常常使用CDN解決,CDN將數據內容緩存到運營商的機房,用戶訪問時先從最近的運營商獲取數據,這樣大大減少了網絡訪問的路徑。
在這里簡單介紹一下CDN的原理。CDN的全稱Content Delivery Network,即內容分發(fā)網絡。CDN是一個經策略性部署的整體系統(tǒng),從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均而產生的用戶訪問網站響應速度慢的根本原因。CDN目的是通過在現有的Internet中增加一層新的網絡架構,將網站的內容發(fā)布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容,解決 Internet 網絡擁塞狀況,提高用戶訪問網站的響應速度。CDN是一種組合技術,其中包括源站、緩存服務器、智能DNS幾個重要部分。
源站
源站指發(fā)布內容的原始站點。添加、刪除和更改網站的文件,都是在源站上進行的;另外緩存服務器所抓取的對象也全部來自于源站。
緩存服務器
緩存服務器是直接提供給用戶訪問的站點資源,有一臺或數臺服務器組成;當用戶發(fā)起訪問時,他的訪問請求被智能DNS定位到離他較近的緩存服務器。如果用戶所請求的內容剛好在緩存里面,則直接把內容返還給用戶;如果訪問所需的內容沒有被緩存,則緩存服務器向鄰近的緩存服務器或直接向源站抓取內容,然后再返還給用戶。
智能DNS
智能DNS是整個CDN技術的核心,它主要根據用戶的來源,將其訪問請求指向離用戶比較近的緩存服務器,如把廣州電信的用戶請求指向到廣州電信IDC機房中的緩存服務器。通過智能DNS解析,讓用戶訪問同服務商下的服務器,消除國內南北網絡互相訪問慢的問題,達到加速作用。智能DNS的出現,顛復了傳統(tǒng)的一個域名對應一個鏡像的做法,讓用戶更加便捷的去訪問網站。
隨著業(yè)務進一步擴展,這時我們需要將應用程序進行業(yè)務拆分。每個業(yè)務應用負責相對獨立的業(yè)務運作(所以需要開辟多個服務對不同業(yè)務進行劃分)。業(yè)務之間通過消息進行通信或者同享數據庫來實現。所以在負載服務器上鏈接一個B業(yè)務服務器在對其業(yè)務進行分布式劃分(如用戶,訂單,支付等),然后B級業(yè)務服務器通過消息隊列服務器來與A業(yè)務服務區(qū)進行實時通信已經共享數據。 諸如此類的A,B服務器有許多,相互之間都可以進行共享數據。