互聯(lián)網(wǎng)時(shí)代的軟件革命-SaaS架構(gòu)設(shè)計(jì)_第1頁
互聯(lián)網(wǎng)時(shí)代的軟件革命-SaaS架構(gòu)設(shè)計(jì)_第2頁
互聯(lián)網(wǎng)時(shí)代的軟件革命-SaaS架構(gòu)設(shè)計(jì)_第3頁
互聯(lián)網(wǎng)時(shí)代的軟件革命-SaaS架構(gòu)設(shè)計(jì)_第4頁
互聯(lián)網(wǎng)時(shí)代的軟件革命-SaaS架構(gòu)設(shè)計(jì)_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

互聯(lián)網(wǎng)時(shí)代的軟件革命

—SaaS架構(gòu)設(shè)計(jì)馬坤nic-makun@網(wǎng)絡(luò)新技術(shù)專題參考教材入門基礎(chǔ)教程,淘寶阿里云,2009,電子工業(yè)出版社,49元(36.4元)參考論文從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法,馬坤,通信學(xué)報(bào),2011什么是云計(jì)算1什么是SaaS2SaaS的成熟度模型3構(gòu)建多租戶的SaaS應(yīng)用4高性能的多租戶SaaS應(yīng)用實(shí)踐5可伸縮的應(yīng)用架構(gòu)6從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法(Paperfrom通信學(xué)報(bào))7內(nèi)容什么是云計(jì)算1什么是SaaS2SaaS的成熟度模型3構(gòu)建多租戶的SaaS應(yīng)用4高性能的多租戶SaaS應(yīng)用實(shí)踐5可伸縮的應(yīng)用架構(gòu)6從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法(Paperfrom通信學(xué)報(bào))7內(nèi)容1云計(jì)算什么是云計(jì)算NationalInstituteofStandardsandTechnology,NIST云計(jì)算是一種對(duì)IT資源的使用模式,是對(duì)共享的可配置的計(jì)算資源(如網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù))提供無所不在的、方便的、隨需的網(wǎng)絡(luò)訪問。資源的使用和釋放可以快速進(jìn)行,不需要多少管理代價(jià)?!绹鴩覙?biāo)準(zhǔn)技術(shù)研究所Cloudcomputingisamodelforenablingconvenient,on-demandnetworkaccesstoasharedpoolofconfigurablecomputingresources(e.g.,networks,servers,storage,applications,andservices)thatcanberapidlyprovisionedandreleasedwithminimalmanagementeffortorserviceproviderinteraction.——NIST1云計(jì)算的基本特征按需自助服務(wù)無所不在的網(wǎng)絡(luò)接入不用考慮具體物理位置的資源池以服務(wù)需求驅(qū)動(dòng)的配置和調(diào)度可計(jì)量的服務(wù)/按使用收費(fèi)1云計(jì)算是信息技術(shù)發(fā)展的方向1云計(jì)算三種服務(wù)模型InternationalDataCorporation(IDC)預(yù)測(cè),2010到2014年期間SaaS市場(chǎng)的年復(fù)合增長(zhǎng)率高達(dá)25.3%什么是云計(jì)算1什么是SaaS2SaaS的成熟度模型3構(gòu)建多租戶的SaaS應(yīng)用4高性能的多租戶SaaS應(yīng)用實(shí)踐5可伸縮的應(yīng)用架構(gòu)6從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法(Paperfrom通信學(xué)報(bào))7內(nèi)容2SaaS-軟件即服務(wù)什么是SaaS軟件即服務(wù),軟件產(chǎn)品消費(fèi)->服務(wù)消費(fèi)租用,無需維護(hù)多租戶2SaaS的提供商們Salesforce的MIS,典型的是CRM軟件的推廣(/)GoogleDocs()Microsoft金蝶友商網(wǎng)(/)阿里云800App(800客)/騰訊SaaS:QQ云輸入法,QQ云詞典2國際學(xué)術(shù)界IEEEInternationalConferenceonCloudComputing(CLOUD)CLOUD2011(/2011/)IEEEAsia-PacificServicesComputingConference(IEEEAPSCC)IEEEAPSCC2011(/apscc2011)IEEEWorldCongressonServices(SERVICES)SERVICES2011(/2011/)2國內(nèi)學(xué)術(shù)界中國云計(jì)算與SaaS大會(huì)(C4S2)()C4S22011(

)2SaaS的適用場(chǎng)景快速增長(zhǎng)的應(yīng)用場(chǎng)景指的是需求增長(zhǎng)比較迅速的情況,這種情況下應(yīng)用系統(tǒng)的計(jì)算呈階梯形上升方式。SaaS應(yīng)用可以動(dòng)態(tài)分配資源來滿足應(yīng)用增長(zhǎng)的需要間歇性的應(yīng)用場(chǎng)景包括臨時(shí)性的一些應(yīng)用需求,這些應(yīng)用場(chǎng)景的特點(diǎn)是不需要連續(xù)的使用服務(wù),此時(shí)傳統(tǒng)的不間斷持續(xù)服務(wù)方法會(huì)造成資源的浪費(fèi)突發(fā)性應(yīng)用場(chǎng)景是指應(yīng)用的使用量短時(shí)間內(nèi)增加又很快回落的情況。這種使用量的變化是無法預(yù)測(cè)的,使用云計(jì)算可以較容易的解決這種突發(fā)需求。計(jì)算時(shí)間b)間斷性應(yīng)用場(chǎng)景計(jì)算時(shí)間a)快速增長(zhǎng)應(yīng)用場(chǎng)景計(jì)算時(shí)間c)突發(fā)性應(yīng)用場(chǎng)景非服務(wù)時(shí)間2SaaS的典型案例郵件系統(tǒng)電子商務(wù)客戶關(guān)系管理企業(yè)資源規(guī)劃管理信息系統(tǒng)辦公自動(dòng)化什么是云計(jì)算1什么是SaaS2SaaS的成熟度模型3構(gòu)建多租戶的SaaS應(yīng)用4高性能的多租戶SaaS應(yīng)用實(shí)踐5可伸縮的應(yīng)用架構(gòu)6從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法(Paperfrom通信學(xué)報(bào))7內(nèi)容3SaaS成熟度模型第0級(jí)(混亂):每次新增一個(gè)客戶,都會(huì)新增軟件的一個(gè)實(shí)例。第1級(jí)(受控的混亂):所有客戶都運(yùn)行在軟件的同一個(gè)版本上,而且任何的定制化都通過修改配置來實(shí)現(xiàn)。第2級(jí)(可配置的多租戶):所有的客戶都已經(jīng)可以在軟件的同一個(gè)版本上運(yùn)行了,而且他們都在同一個(gè)“實(shí)例”上運(yùn)行。第3級(jí)(可擴(kuò)展的多租戶):此時(shí)你已經(jīng)擁有了多租戶、單一版本的軟件模型。不過你還是可以通過硬件擴(kuò)展(scale-out)的方式來進(jìn)行擴(kuò)充。第4級(jí)(理想模型):如同第3級(jí),除非你可以找出有效的方式,以在不同的“實(shí)例”上運(yùn)行不同版本的軟件。什么是云計(jì)算1什么是SaaS2SaaS的成熟度模型3構(gòu)建多租戶的SaaS應(yīng)用4高性能的多租戶SaaS應(yīng)用實(shí)踐5可伸縮的應(yīng)用架構(gòu)6從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法(Paperfrom通信學(xué)報(bào))7內(nèi)容4常見的多租戶解決方案databasedatabasedatabaseapplicationapplicationapplicationtenanttenanttenantdatabasedatabasedatabasetenanttenanttenantapplicationdatabasetenanttenanttenantapplicationa)SeparateApplicationSeparateDatabaseb)SharedApplicationSeparateDatabasec)SharedApplicationSharedDatabasetenanttenanttenantapplicationdatabasetenanttenanttenantapplicationc1)SeparateSchemac2)SharedSchemaschema1schema2schema1理想模型4多租戶SaaS應(yīng)用的通用模塊用戶與租戶映射租戶的注冊(cè)與訂閱租戶的計(jì)費(fèi)4SaaS多租戶設(shè)計(jì)用戶與租戶的映射關(guān)系一個(gè)租戶下可以有多個(gè)用戶賬號(hào)1:n4SaaS多租戶設(shè)計(jì)租戶的訂閱PricePolicy:價(jià)格策略,支持按時(shí)間(月、季、年)、按次數(shù)計(jì)價(jià),以u(píng)nit表示;Subsciber:訂購記錄,記錄租戶選擇了何種價(jià)格策略,以及服務(wù)期限或服務(wù)次數(shù)。4SaaS多租戶設(shè)計(jì)租戶的計(jì)費(fèi)Journal:流水賬,記錄租戶使用服務(wù)的日志,用于生成賬單和報(bào)表。什么是云計(jì)算1什么是SaaS2SaaS的成熟度模型3構(gòu)建多租戶的SaaS應(yīng)用4高性能的多租戶SaaS應(yīng)用實(shí)踐5可伸縮的應(yīng)用架構(gòu)6從傳統(tǒng)的Web應(yīng)用到多租戶SaaS應(yīng)用的轉(zhuǎn)換方法(Paperfrom通信學(xué)報(bào))7內(nèi)容5高性能的多租戶SaaS應(yīng)用實(shí)踐數(shù)據(jù)庫優(yōu)化應(yīng)用層優(yōu)化Web層優(yōu)化5.1數(shù)據(jù)庫層性能優(yōu)化建立合適的索引索引應(yīng)該創(chuàng)建在條件(WHERE),排序(ORDERBY),分組(GROUPBY)等操作所涉及的列上;索引應(yīng)該有較強(qiáng)的選擇性,即應(yīng)盡可能建立在重復(fù)數(shù)據(jù)少的數(shù)據(jù)列中;如果多個(gè)條件經(jīng)常需要組合起來查詢,應(yīng)合理使用聯(lián)合索引;一次查詢中只能使用一個(gè)索引,可使用相應(yīng)的分析工具分析索引效果;索引不是越多越好,過多的索引可能導(dǎo)致CUD(新增、修改、刪除)的性能降低,并且占用更多的空間實(shí)現(xiàn)模糊搜索的最佳實(shí)踐是建立搜索引擎5.1數(shù)據(jù)庫層性能優(yōu)化消除大數(shù)據(jù)表連接解決方案適用場(chǎng)景示例場(chǎng)景冗余存儲(chǔ)關(guān)聯(lián)字段業(yè)務(wù)需求上可以接受冗余導(dǎo)致的不一致,或者冗余數(shù)據(jù)可以很容易被同步更新訂單列表查詢時(shí),希望查看到訂單的客戶名稱,原本訂單上只記錄了客戶ID,通過關(guān)聯(lián)客戶表查詢客戶名稱Cache緩存變動(dòng)概率不高,但是對(duì)于數(shù)據(jù)一致性要求較高用戶名(UserName)被很多業(yè)務(wù)所關(guān)聯(lián)查詢,但是也不適用于冗余方案(業(yè)務(wù)上不允許不一致,并且要保持所有冗余存儲(chǔ)的地方同步更新很困難)直接刪除關(guān)聯(lián)字段不是必須包含的被關(guān)聯(lián)表的字段,可以直接從列表查詢中去除訂單列表中的產(chǎn)品型號(hào)等非關(guān)鍵字,其實(shí)并不一定要包含在訂單列表中拆分成多次查詢對(duì)于單個(gè)數(shù)據(jù)的查詢,如果涉及多張關(guān)聯(lián)表,有時(shí)多分次查詢會(huì)比一次復(fù)雜的關(guān)聯(lián)查詢更為合適訂單表單中需要查詢到關(guān)聯(lián)產(chǎn)品的編碼、型號(hào)等很多字段5.1數(shù)據(jù)庫層性能優(yōu)化避免復(fù)雜SQL一般需要考慮把復(fù)雜的SQL分解成多個(gè)簡(jiǎn)單的SQL執(zhí)行將復(fù)雜的運(yùn)算盡量留在應(yīng)用服務(wù)器層應(yīng)用服務(wù)器層的水平擴(kuò)展比數(shù)據(jù)庫擴(kuò)展更容易實(shí)現(xiàn)5.2應(yīng)用層性能優(yōu)化Cache特征:讀多寫少Cache過期機(jī)制:重讀統(tǒng)計(jì)和報(bào)表對(duì)于統(tǒng)計(jì)結(jié)果實(shí)時(shí)性不高的,并且歷史數(shù)據(jù)是不允許修改的情況下,通??梢圆捎煤笈_(tái)任務(wù)定時(shí)統(tǒng)計(jì)的策略–(Spring+Quartz框架)如果歷史數(shù)據(jù)是可以修改的,則相應(yīng)的后臺(tái)任務(wù)定時(shí)統(tǒng)計(jì)方案會(huì)略有些復(fù)雜:對(duì)于被修改的歷史數(shù)據(jù),歷史統(tǒng)計(jì)結(jié)果和報(bào)表需要重新運(yùn)算對(duì)于部分統(tǒng)計(jì)結(jié)果實(shí)時(shí)性要求很高的功能,則可以在后臺(tái)任務(wù)定時(shí)統(tǒng)計(jì)的基礎(chǔ)上,再加上增量數(shù)據(jù)實(shí)時(shí)統(tǒng)計(jì)的結(jié)果使用全文索引進(jìn)行搜索異步操作異步操作并沒有從本質(zhì)上提升系統(tǒng)性能或者數(shù)據(jù)吞吐量。但是異步操作使得用戶體驗(yàn)得到了極大的提升,同時(shí)也能降低系統(tǒng)的并發(fā)負(fù)載。因此,將同步操作變成異步操作也是提升性能的一種重要手段。例如,Ajax。5.3Web層性能優(yōu)化頁面加載速度優(yōu)化HTTP協(xié)議HTTP1.0是Browser和Server三次握手建立連接發(fā)送數(shù)據(jù)包HTTP1.1對(duì)這種情況有了改進(jìn),在HTTP1.1中有PersistentConnection的概念,Server端不會(huì)馬上關(guān)閉連接,這樣可以減少連接數(shù),但是維護(hù)連接需要消耗服務(wù)器資源HTTP請(qǐng)求IE7對(duì)ajax請(qǐng)求,是發(fā)送兩次tcp包。第一個(gè)是HTTPHeader,第二個(gè)是xmldata。兩次tcp發(fā)包之間,Server一個(gè)ACK確認(rèn)后才發(fā)xmldata。IE7上發(fā)送ajax請(qǐng)求會(huì)繼續(xù)使用瀏覽器已經(jīng)建立的tcp鏈接,而IE6發(fā)送ajax請(qǐng)求會(huì)重新建立新的TCP鏈接(三次握手)。Firefox中xml和HTTPHeader的最后一個(gè)TCP包是一起發(fā)出去沒有延遲的5.3Yahoo!關(guān)于網(wǎng)站優(yōu)化的35條建議

/performance/rules.html

/alex86gbk/article/details/4438506服務(wù)器部分使用內(nèi)容分發(fā)網(wǎng)絡(luò)為文件頭指定Expires或Cache-ControlGZIP壓縮文件內(nèi)容配置ETag盡早刷新輸出緩沖使用GET來完成AJAX請(qǐng)求5.3Yahoo!關(guān)于網(wǎng)站優(yōu)化的35條建議

/performance/rules.html

/alex86gbk/article/details/4438506內(nèi)容部分盡量減少HTTP請(qǐng)求減少DNS查找避免跳轉(zhuǎn),減少301和302緩存Ajax,GZIP延遲加載提前加載減少DOM元素?cái)?shù)量用域名劃分頁面內(nèi)容使frame數(shù)量最少避免404錯(cuò)誤5.3Yahoo!關(guān)于網(wǎng)站優(yōu)化的35條建議

/performance/rules.html

/alex86gbk/article/details/4438506CSS部分把樣式表置于頂部避免使用CSS表達(dá)式(Expression)用<link>代替@import避免使用濾鏡5.3Yahoo!關(guān)于網(wǎng)站優(yōu)化的35條建議

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論