《《阿里云架構講解》PPT課件》由會員分享,可在線閱讀,更多相關《《阿里云架構講解》PPT課件(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、0 網(wǎng) 站 架 構阿里云 1 ALIBABA CONFIDENTIAL 1. 1 網(wǎng)絡架構基礎 常見組合 常見數(shù)據(jù)庫和存儲類型2 架構圖 八種常見架構目錄3 客戶案例 北京玩蟹-大掌門 2 網(wǎng)絡架構基礎常見組合 ALIBABA CONFIDENTIAL 一.微軟類型語言:.net或asp IIS DB:access(早期,目前很少用)sql server(現(xiàn)在主流) 開源類型語言:phpApache或nginx(二個可根據(jù)業(yè)務組合) DB: mysql (現(xiàn)在主流) 企業(yè)類型語言:javaApache還有nginx+tomcat(必用)(三個可根據(jù)業(yè)務組合) DB: sql server (現(xiàn)
2、在主流)制作網(wǎng)站三個重要元素: 網(wǎng)頁開發(fā)語言, 組件, 數(shù)據(jù)庫 3 ALIBABA CONFIDENTIAL 一. 網(wǎng)絡架構基礎常見數(shù)據(jù)庫和存儲類型 存儲NAS MOGILEFS RAID 4 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫 二.1.1 初始架構最簡單的架構就是:一個服務器里面同時裝:應用程序,文件,還有數(shù)據(jù)庫這三塊使用時調用服務器相應的資源 5 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫應用服務器 文件服務器數(shù)據(jù)庫服務器1.2 應用和服務分離隨時業(yè)務的發(fā)展, 會出現(xiàn)讀寫變慢,存儲空間變大等問題,單臺服務器無法滿足需求,所以進行進一步的架構劃分.
3、常見的處理方法就是: 應用和數(shù)據(jù)庫進行分離 :應用服務器可用我們的 : ECS數(shù)據(jù)庫服務器可用我們的; RDS文件服務器可用我們的: OSS 二. 6 CPU二個重要功能控制器:控制數(shù)據(jù)的先后處理順序計算器:計算相應內存給的數(shù)據(jù) 內存.內存獲取數(shù)據(jù). 內存將需要處理的數(shù)據(jù)給CPU.同時存儲CPU返回的數(shù)據(jù),給到硬盤或其他終端 硬盤1.硬盤把數(shù)據(jù)調給內存2.存儲內存返回來的指定數(shù)據(jù)數(shù)據(jù)輸入數(shù)據(jù)輸入數(shù)據(jù)輸出 回傳指令 終端 二. 計算機工作簡單原理為了更好的理解,我們可以先了解一下,一臺計算機工作的原理: 7 ALIBABA CONFIDENTIAL 二.注意:CPU只與內存打交道以上只是簡單的原
4、理,實際工作會比這個更復雜,為了好讓大家理解各個功能,簡化了原理從這就不難看出:應用服務器:需要處理大量業(yè)務邏輯,因些需要強大的CPU,因些這臺服務器的CPU相對來說較大數(shù)據(jù)庫:則是用到了強大的數(shù)據(jù)檢索和緩存數(shù)據(jù),故內存就要夠好,所以這臺服務器內存會較大 文件的存儲: 硬盤的讀寫速度越快(IO),越利于數(shù)據(jù)的調取,這臺空間存儲空間會較大,當然也可以用我們的OSS做存儲一般隨著應用的增加:還會出現(xiàn)數(shù)據(jù)庫負載高的情況,為什么會出現(xiàn)這個問題,說白了就是IO的問題.有興趣的同學,可以學習內部的課程了解:http:/xue.alibaba- 8 ALIBABA CONFIDENTIAL 1.3 應用和服
5、務分離 服務和數(shù)據(jù)分離,并發(fā)處理能力和數(shù)據(jù)存儲得到了改善但是用戶數(shù)越來越多時,一般情況下數(shù)據(jù)庫最容易出現(xiàn)問題,比如:訪問太大導致訪問延遲之所以同種情況下,數(shù)據(jù)庫容易訪問出現(xiàn)壓力,主要是數(shù)據(jù)庫的數(shù)據(jù)在不斷的讀寫,時時有變化一般的想法的可能是:增加數(shù)據(jù)庫臺數(shù): 但是會遇到數(shù)據(jù)庫同步的問題:因為數(shù)據(jù)庫不像應用服務器一樣,當并發(fā)數(shù)增加時增加應用服務器(這樣就可以提供相同的服務請求),而數(shù)據(jù)庫因為要不停的讀寫,當一個數(shù)據(jù)庫進行寫操作,如果沒有及時更新給另外一個數(shù)據(jù)庫就會出現(xiàn),(如圖一) .增大數(shù)據(jù)庫:但是單臺數(shù)據(jù)庫再大也是有瓶頸的,并且負載越大,也越容易導致數(shù)據(jù)異常(如圖二)服務器 數(shù)據(jù)庫3服務器2 數(shù)
6、據(jù)庫 服務器服務器2 擴容后大數(shù)據(jù)庫服務器服務器3 數(shù)據(jù)庫2圖一: 增加數(shù)據(jù)庫,要解決同步問題 圖二:增大數(shù)據(jù)庫,要考慮一臺會有極限,并且高負載 二. 數(shù)據(jù) 同步 9 ALIBABA CONFIDENTIAL 但是現(xiàn)實當中,我們常使用的做法不是這樣,處理情況如下:大部分情況下,數(shù)據(jù)的訪問分布 并不是平均的,即:的請求可能集中訪問的數(shù)據(jù),所以就考慮是否可以把這的數(shù)據(jù) 專門放在特定的地方,如果需要這些數(shù)據(jù)時,就不要從數(shù)據(jù)庫讀,直接就從這些特定的地方調取, 這個就是 我們常說的緩存的概念 緩存建設之后,數(shù)據(jù)只要在緩存內有,就不需要從內存里面提取,這樣大大加快了速度,緩存內是幾毫 秒級,內存是幾十毫秒
7、級的.緩存是在應用程序和數(shù)據(jù)庫中間的一層,如下: 先發(fā)請求到緩存,有則直接返回數(shù)據(jù) 無數(shù)據(jù),返回 應用服務器發(fā)送請求給數(shù)據(jù)庫 然后由數(shù)據(jù)返回請求 二. 架構圖-架構三 應用服務器 緩存服務器 數(shù)據(jù)庫服務器 10 CPU二個重要功能控制器:控制數(shù)據(jù)的先后處理順序計算器:計算相應內存給的數(shù)據(jù)CPU現(xiàn)在一般都裝有緩存芯片:L1,L2高速緩存,直接從緩存調數(shù)據(jù),處 理好數(shù)據(jù),直接由緩存給到終端,就不通過內存了 內存.內存獲取數(shù)據(jù). 內存將需要處理的數(shù)據(jù)給CPU.同時存儲CPU返回的數(shù)據(jù),給到硬盤或其他終端 硬盤1.硬盤把數(shù)據(jù)調給內存2.存儲內存返回來的指定數(shù)據(jù)數(shù)據(jù)輸出數(shù)據(jù)輸入數(shù)據(jù)輸出 回傳指令 終端
8、黃線即為緩存 二.為了好理解,我們可以看一下一臺計算機上的緩存的使用: 11 ALIBABA CONFIDENTIAL 緩存:網(wǎng)站優(yōu)化的第一考慮,數(shù)據(jù)存儲在緩存內,頻繁使用的數(shù)據(jù)不需要經(jīng)過內存,直接從緩存讀取,大大加快了CPU的處理速度,目前常用的緩存有二種:memcache和redis .同時我們阿里云對應的產(chǎn)品:OCS注意:1.緩存常見解決的是數(shù)據(jù)訪問很不平均的問題,但是因為緩存比內存的處理速度要快很多,所以即使是平均分布的數(shù)據(jù),但是還是有部分數(shù)據(jù)可以進行緩存所以這個意義上,緩存也是有一定的意義的2.緩存本身是一種功能,并不是指某個硬件,但是現(xiàn)在用的計算機是有實現(xiàn)緩存功能的硬件的:比如:C
9、PU內的L1,L2就是在CPU特地裝有的硬件芯片3.阿里云商業(yè)化的OCS:之前公測是用SSD(固)做緩存的,商業(yè)化后,公司用的是內存來做緩存的4.目前緩存使用常見有二種方法(見下頁圖) (1).本地緩存:即在應用服務器上,占用一部分內存,來給服務器做緩存,但是這個會占取應用服務器的資源.(2).遠程分布式緩存;以使用集群的方式,部署大內存的服務器作為專門的緩存服務器加緩存后,架構如下: 二. 架構圖-架構三 12 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫數(shù)據(jù)庫服務器分布式緩存服務器:n 文件服務器遠程分布式緩存 本地緩存應用服務器 分布式緩存服務器:1 二. 架構圖-架構三
10、 本地緩存和分布式緩存的使用 13 1.4 使用負載均衡當使用緩存后,數(shù)據(jù)訪問的壓力有很大的緩解決但是一臺服務器如果高并發(fā)時還會遇到瓶頸,這時常見的處理方法有二種:1.增大服務器配置:隨著訪問量的上升,一臺服務器是有瓶頸的,并且高負載也容易影響機器的性能.增加服務器:通過多臺服務器,使用負載均衡處理高并發(fā),應用服務分發(fā)給相應的后端的服務器,從而減輕應用服務器的壓力此時使用負載均衡的架構如下圖(見下頁) 二. 14 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫數(shù)據(jù)庫服務器分布式緩存服務器:n 文件服務器遠程分布式緩存 本地緩存應用服務器n應用服務器1 S L B(負載均衡) 分布
11、式緩存服務器:1 二.應用服務器增加多臺,進行負載均衡 15 1.5 數(shù)據(jù)庫讀寫分離當應用服務器使用負載均衡高度使用時,性能有了大幅的提升,之前使用緩存,使絕大多數(shù)讀操作訪問都可以不通過數(shù)據(jù)庫完成,但是還會有一部分讀操作(緩存訪問不命中,緩存過期)和全部的寫操作需要訪問數(shù)據(jù)庫,在網(wǎng)站的用戶達到一定規(guī)模后,而數(shù)據(jù)只通過緩存,還是會出現(xiàn)壓力和負載過高的情況常見處理方式是:將數(shù)據(jù)的讀和寫進行分離:此時需要在應用程序里面增加一個數(shù)據(jù)訪問模塊,將讀寫分離時,但是這個時候還要考慮一個重要問題就是: 數(shù)據(jù)同步的問題 數(shù)據(jù)同步問題:目前主要用主從復制機來實現(xiàn)這個功能,另外還需要在應用服務器加一個數(shù)據(jù)的訪問模塊
12、來進行統(tǒng)一調度使用詳細架構見下頁圖: 二. 16 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫數(shù)據(jù)庫服務器 (主)分布式緩存服務器:n 文件服務器遠程分布式緩存 本地緩存應用服務器n S L B(負載均衡) 應用服務器1 數(shù)據(jù)訪問 模塊 數(shù)據(jù)庫數(shù)據(jù)庫服務器 (從) 主/從復制 分布式緩存服務器:1 二.增加訪問模塊使用主從復制機實現(xiàn)讀寫分離 17 ALIBABA CONFIDENTIAL 二. 架構圖-架構六 在中國,因為網(wǎng)絡環(huán)境相對復雜,不同地區(qū)的用戶訪問,網(wǎng)速會差別特別大,訪問速度越慢,客戶就越?jīng)]有耐心來訪問,這樣將大大增加了流失客戶的情況因為就有人就想出了辦法:我可以把一
13、些重要的數(shù)據(jù)放在全國各個地區(qū),客戶來訪問的時候,如果各個地區(qū)臨近的節(jié)點上有,這樣就不需要直接從我這里來拿 了.這樣就增加了數(shù)據(jù)的返回的效率, 這個就叫做CDN,其實本質上也是緩存 另外CDN一般是放在負載均衡的前端,也就是說如果結點有,就不需要訪問到負載均衡的機器就直接返回數(shù)據(jù)了此時的架構圖如下: 18 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫數(shù)據(jù)庫服務器 (主)分布式緩存服務器:n 文件服務器遠程分布式緩存 本地緩存應用服務器n S L B(負載均衡) 應用服務器1 數(shù)據(jù)訪問 模塊 數(shù)據(jù)庫數(shù)據(jù)庫服務器 (從) 主/從復制 CDN服務器反向代理服務器 二. 分布式緩存服務器
14、:1 19 ALIBABA CONFIDENTIAL 架構圖-架構七 二. 當業(yè)務足夠大時,一臺或二臺服務器即使再大,也無法滿足業(yè)務的需求,這個時候一般的選擇都會選擇分布式系統(tǒng),一般公司做到這個程序基本上規(guī)模就相當大了 這個時候就會有分布式應用服務器,分布式數(shù)據(jù)庫, 分布式存儲等等,而在應用程 序中,會增加一個統(tǒng)一數(shù)據(jù)訪問模塊,并且所有的分布式的信息,都將通過這個模塊來進行.此時的架構圖如下: 20 ALIBABA CONFIDENTIAL應用程序 文件數(shù)據(jù)庫分布式數(shù)據(jù)庫服務器n分布式緩存服務器:n 分布式文件服務器n遠程分布式緩存 本地緩存應用服務器n S L B(負載均衡) 應用服務器1
15、統(tǒng)一數(shù)據(jù)訪問模塊CDN服務器反向代理服務器 分布式數(shù)據(jù)庫服務器1分布式文件服務器1分布式緩存服務器:1 二. 此時用統(tǒng)一數(shù)據(jù)訪問模塊使各個功能服務器 均實現(xiàn)分布式系統(tǒng) 21 ALIBABA CONFIDENTIAL 架構圖-架構八 二. 隨著業(yè)務的復雜性,有些數(shù)據(jù)之間的關系也變得越來越復雜,或者數(shù)據(jù)之間并沒有什么必然的關系,通過關系型數(shù)據(jù)庫(rds),就很難解決相應的問題,于是就有人設計了非關系型數(shù)據(jù)庫(NOSQL),或者直接將搜索引擎的的技術,這樣就能加快數(shù)據(jù)的檢索的速度和效率. 基本上到這個情況下,客戶的規(guī)模和實力在行業(yè)里面就非常有名了. 詳細情況如下: 22 ALIBABA CONFID
16、ENTIAL應用程序 文件數(shù)據(jù)庫分布式數(shù)據(jù)庫服務器n分布式緩存服務器:n 分布式文件服務器n遠程分布式緩存 本地緩存應用服務器n S L B(負載均衡) 應用服務器1 統(tǒng)一數(shù)據(jù)訪問模塊CDN服務器反向代理服務器 分布式數(shù)據(jù)庫服務器1分布式文件服務器1分布式緩存服務器:1 搜索引擎服務器 NOSQL服務器 二. 使用搜索引擎和NOSQL來解決數(shù)據(jù)庫檢索,存儲問題 23 ALIBABA CONFIDENTIAL 架構圖-架構九 二. 再往下,就要進行業(yè)務的拆分等更復雜的架構,常見的情況很少,對技術工程師有更高的要求,有興趣也可以看:大型網(wǎng)站技術架構這本書,里面會有詳細的介紹. 24 ALIBABA CONFIDENTIAL 優(yōu) 化 前 架 構 三. 客戶案例北京玩蟹 25 ALIBABA CONFIDENTIAL 優(yōu) 化 后 架 構 三. 客戶案例北京玩蟹 26 ALIBABA CONFIDENTIAL 更多客戶案例及架構展示 四. http:/ 游戲,移動,金融,電商,音視頻等各種案例。 有興趣也可以點擊相應logo圖標,了解他們與阿里云的歷程故事,了解他們都使用了阿里云的那些產(chǎn)品,以及部分架構示意圖。 27