版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、SaaS架構設計 TOC o 1-5 h z SaaS架構設計1 HYPERLINK l bookmark0 o Current Document SaaS成熟度模型分級2 HYPERLINK l bookmark2 o Current Document RUP “4+1”視圖模式(邏輯視圖/過程視圖/開發(fā)視圖/物理視圖+場景視圖)3MDA(Model Driven人3計0世11)模型驅(qū)動架構3 HYPERLINK l bookmark4 o Current Document SaaS的安全性設計4 HYPERLINK l bookmark8 o Current Document 安全性.4
2、HYPERLINK l bookmark10 o Current Document SaaS下的安全性設計很重要。一般常見的安全性設計分為兩類:系統(tǒng)級和程序級。5 HYPERLINK l bookmark12 o Current Document (1 ) 系統(tǒng)級:5 HYPERLINK l bookmark16 o Current Document (2 ) 程序級:5 HYPERLINK l bookmark18 o Current Document 現(xiàn)在SaaS Multi-Tenant在數(shù)據(jù)存儲上存在三種主要的方案6 HYPERLINK l bookmark20 o Current D
3、ocument (1 )方案一:獨立數(shù)據(jù)庫6 HYPERLINK l bookmark22 o Current Document (2 )方案二:共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構6 HYPERLINK l bookmark26 o Current Document (3 )方案三:共享數(shù)據(jù)庫,共享數(shù)據(jù)架構.7數(shù)據(jù)庫層性能優(yōu)化8建立合適的索引8 HYPERLINK l bookmark33 o Current Document 消除大數(shù)據(jù)表連接8 HYPERLINK l bookmark35 o Current Document 應用層性能優(yōu)化:Cache9 HYPERLINK l bookmark39
4、 o Current Document 日志記錄9 HYPERLINK l bookmark41 o Current Document 行為日志記錄10 HYPERLINK l bookmark43 o Current Document 數(shù)據(jù)日志記錄10 HYPERLINK l bookmark45 o Current Document 日志記錄的安全1. 0專業(yè)專注 TOC o 1-5 h z HYPERLINK l bookmark47 o Current Document 數(shù)據(jù)加密算法(會犧牲一定性能)11 HYPERLINK l bookmark49 o Current Documen
5、t 基于SaaS云計算網(wǎng)絡性能測試指標12 HYPERLINK l bookmark51 o Current Document 新建速率12 HYPERLINK l bookmark57 o Current Document 并發(fā)數(shù)12 HYPERLINK l bookmark61 o Current Document (3 )吞吐量13 HYPERLINK l bookmark63 o Current Document (4 )響應時間13SaaS成熟度模型分級根據(jù)SaaS應用是否具有可配置性、高性能、可伸縮性的特性,SaaS成熟度模型被分成四級。每一級都比前一級增加以上三種特性的一種。可配
6、置高性能可伸縮性特點Level 1定制開發(fā)XXX設備托管Level 2可配置VXX設備共享、可配置化Level 3高性能的多租戶架構(Multi-Tenant)VVX多租戶、數(shù)據(jù)隔離、高性能Level 4可伸縮性的多租戶架構VVV專業(yè)專注 RUP “4+1 ”視圖模式(邏輯視圖/過程視圖/開發(fā)視圖/物理視圖+場景視 圖)場景視圖:用例圖,描述用戶的業(yè)務場景,從用戶的角度標識出業(yè)務需求,它是架構設計的起點和終點;邏輯視圖:就是對象模型。邏輯視圖重點在于功能,功能包括可見的業(yè)務功能,也包括不可見的系統(tǒng)功能(如日志、權限、事務等)。同時更重要的是確立邏輯分層、模塊劃分和模塊之間的依賴關系;開發(fā)視圖:
7、用于描述開發(fā)環(huán)境下的靜態(tài)組織。從開發(fā)環(huán)境、技術架構、分層策略和目錄結構4個方面闡述;過程視圖:聚焦在進程、線程等運行時概念,以及相關的并發(fā)、同步、通信等問題。如果本系統(tǒng)不需要考慮 這些方面,本視圖可以省略;物理視圖:也叫部署視圖描述軟件如何映射到硬件,反映系統(tǒng)在分布/部署上的設計。MDA(Model Driven Architecture)模型驅(qū)動架構MDA利用元數(shù)據(jù)模型,可以方便靈活地實現(xiàn)可配置化。MDA(Model Driven Architecture)是模型驅(qū)動架構,它是由OMG定義的一個軟件開發(fā)框架。它是一種基于UML 以及其他工業(yè)標準的框架,支持軟件設計和模型的可視化、存儲和交換。
8、和UML相比,MDA能夠創(chuàng)建出機器可讀 和高度抽象的模型,這些模型獨立于實現(xiàn)技術,以標準化的方式儲存。MDA把建模語言用作一種編程語言而不僅 僅是設計語言。MDA的關鍵之處是模型在軟件開發(fā)中扮演了非常重要的角色專業(yè)專注SaaS的安全性設計一般常見的安全性設計分為兩類:系統(tǒng)級和程序級。系統(tǒng)級:使用HTTPS協(xié)議以SSL ( Security Socket Layer)交換數(shù)據(jù),增強通信安全;通過數(shù)字簽名防止傳輸過程篡改;對用戶身份識別的UserToken使用DES算法數(shù)據(jù)加密;業(yè)務數(shù)據(jù)定時自動備份;程序集:完整的權限配置,包括功能權限和數(shù)據(jù)權限;客戶端輸入校驗,防止JS攻擊、XSS攻擊、SQL注
9、入等;輔助安全設計,比如密碼控件、圖片驗證碼、手機確認碼等;安全性安全壓倒一切。大多數(shù)用戶只是問問SaaS廠商是不是采用了安全套接層(SSL)技術,而安全性涵蓋的不僅僅只有這個方面。要向潛在的SaaS廠商詢問下列問題:放置服務器的數(shù)據(jù)中心有沒有24x7全天候的物理安全措施?數(shù)據(jù)中心有沒有得到保護(保安是不是24小時在周圍至少巡視一次)?誰有權訪問這些服務器(只有內(nèi)部員工可以訪問,還是承包商也可以訪問?)專業(yè)專注有沒有日志記錄誰何時進入、何時離開?如果有日志,那么隔多長時間審計這些日志?應用程序有沒有使用基于行業(yè)標準的128位加密技術?如果多個客戶使用的應用程序放在同一臺服務器上,那么它們有沒有
10、采用邏輯或物理分隔,從而確保你的數(shù)據(jù)不被未授權的人所看到?SaaS廠商中可以訪問你企業(yè)數(shù)據(jù)的工作人員有沒有經(jīng)過犯罪背景調(diào)查?知道被定罪的重罪犯是不能訪問你企業(yè)那些敏感的個人數(shù)據(jù),這很重要。廠商有沒有正規(guī)的業(yè)務連續(xù)性方案(BCP) ?對方愿不愿意與你共享該方案、它能消除你的擔憂嗎?SaaS下的安全性設計很重要。一般常見的安全性設計分為兩類:系統(tǒng)級和 程序級。(1)系統(tǒng)級:使用HTTPS協(xié)議以SSL ( Security Socket Layer)交換數(shù)據(jù),增強通信安全;通過數(shù)字簽名防止傳輸過程篡改;對用戶身份識別的UserToken使用DES算法數(shù)據(jù)加密;業(yè)務數(shù)據(jù)定時自動備份。(2)程序級:完整
11、的權限配置,包括功能權限和數(shù)據(jù)權限; 客戶端輸入校驗,防止JS攻擊、XSS攻擊、SQL注入等;專業(yè)專注輔助安全設計,比如密碼控件、圖片驗證碼、手機確認碼等?,F(xiàn)在SaaS Multi-Tenant在數(shù)據(jù)存儲上存在三種主要的方案(1)方案一:獨立數(shù)據(jù)庫這是第一種方案,即一個Tenant一個Database (見圖3-14 ),這種方案的用戶數(shù)據(jù)隔離級別最高,安全性最 好,但成本也高。優(yōu)點:為不同的租戶提供獨立的數(shù)據(jù)庫,有助于簡化數(shù)據(jù)模型的擴展設計,滿足不同租戶的獨特需求;如果出現(xiàn)故障,恢復數(shù)據(jù)比較簡單。缺點:增大了數(shù)據(jù)庫的安裝數(shù)量,隨之帶來維護成本和購置成本的增加。這種方案與傳統(tǒng)的一個客戶、一套數(shù)
12、據(jù)、一套部署類似,差別只在于軟件統(tǒng)一部署在運營商那里。如果面對 的是銀行、醫(yī)院等需要非常高數(shù)據(jù)隔離級別的租戶,可以選擇這種模式,提高租用的定價。如果定價較低,產(chǎn)品 走低價路線,這種方案一般對運營商來說是無法承受的。(2 )方案二:共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構這是第二種方案,即多個或所有租戶共享Database,但一個Tenant一個Schema。專業(yè)專注優(yōu)點:為安全性要求較高的租戶提供了一定程度的邏輯數(shù)據(jù)隔離,并不是完全隔離;每個數(shù)據(jù)庫可以支持更多的租戶數(shù)量。缺點:如果出現(xiàn)故障,數(shù)據(jù)恢復比較困難,因為恢復數(shù)據(jù)庫將牽扯到其他租戶的數(shù)據(jù);如果需要跨租戶統(tǒng)計數(shù)據(jù),存在一定困難。(3)方案三:共享數(shù)據(jù)庫,
13、共享數(shù)據(jù)架構這是第三種方案,即租戶共享同一個Database,同一個Schema ,但在表中通過TenantID區(qū)分租戶的數(shù)據(jù)。 這是共享程度最高、隔離級別最低的模式。優(yōu)點:三種方案比較,第三種方案的維護和購置成本最低,允許每個數(shù)據(jù)庫支持的租戶數(shù)量最多。缺點:隔離級別最低,安全性最低,需要在設計開發(fā)時加大對安全的開發(fā)量;數(shù)據(jù)備份和恢復最困難,需要逐表逐條備份和還原。如果希望以最少的服務器為最多的租戶提供服務,并且租戶接受以犧牲隔離級別換取降低成本,這種方案最 適合。專業(yè)專注數(shù)據(jù)庫層性能優(yōu)化建立合適的索引索引應該創(chuàng)建在條件(where )、排序(order by )、分組(group by)等操
14、作所涉及的列上;索引應該有較強的選擇性,即應盡可能建立在重復數(shù)據(jù)少的數(shù)據(jù)列中;如果多個條件經(jīng)常需要組合起來查詢,應合理使用聯(lián)合索引;一次查詢中只能使用一個索引,可使用相應的分析工具分析索引效果;索引不是越多越好(一個表最好在5個索引以內(nèi)),過多的索引可能導致CUD (新增、修改、刪除)的性能 降低,并且占用更多的空間。消除大數(shù)據(jù)表連接消除表連接的幾種解決方案解決方案適用場景示例場景冗余存儲關聯(lián)字段業(yè)務需求上可以接受冗余導致的不一致,或者冗余數(shù)據(jù)可以很容易被同步更新訂單列表查詢時,希望查看到訂單的客戶名稱,原本訂單上只記錄了客戶ID ,通過關聯(lián)客戶表查詢客戶名稱Cache緩存變動概率不高,但是對
15、于數(shù)據(jù)一致性要求較高用戶名(USER_NAME )被很多業(yè)務所關聯(lián)查 詢,但是也不適用于冗余方案(業(yè)務上不允許不 一致,并且要保持所有冗余存儲的地方同步更新 很困難)直接刪除關聯(lián)字段不是必須包含的被關聯(lián)表的字段,可以訂單列表中的產(chǎn)品型號等非關鍵字段,其實并不專業(yè)專注直接從列表查詢中去除一定要包含在訂單列表中拆分成多次查詢對于單個數(shù)據(jù)的查詢,如果涉及多張關聯(lián)表,有時分多次查詢會比一次復雜的關聯(lián)查詢更為合適訂單表單中需要查詢到關聯(lián)產(chǎn)品的編碼、型號等很多字段應用層性能優(yōu)化:Cache其實很難說Cache就是應用層性能的優(yōu)化策略。因為大部分情況下,Cache所緩存的內(nèi)容就是數(shù)據(jù)庫中存儲的內(nèi)容。采用Ca
16、che策略其實也是對數(shù)據(jù)庫層的一種優(yōu)化,因為其避免了對于數(shù)據(jù)庫的頻繁訪問。MemCached和JBoss Cache應該是兩類比較典型的Cache。MemCachedJBoss Cache特性1、基于 Client/Server 架構2、只有一份數(shù)據(jù)Copy,不需要數(shù)據(jù)同步基于JGroup多播的分布式Cache優(yōu)勢不需要數(shù)據(jù)同步,避免復雜的多播等技術Cache讀取基于本地Memory,性能更高日志記錄日志記錄就是要對用戶在系統(tǒng)中的操作行為和操作的數(shù)據(jù)等進行記錄,以便對用戶在系統(tǒng)中的操作進行查 證,以保證用戶行為是不可偽造的、不可銷毀的、不可否認的。也就是說,用戶在系統(tǒng)中的行為是有據(jù)可查的, 不
17、能在系統(tǒng)中偽造自己的行為,或者偽造其他用戶的行為;同時,用戶是不能銷毀這些證據(jù)的,不能否認自己的專業(yè)專注行為。日志記錄具體包括兩部分:行為日志記錄和數(shù)據(jù)日志記錄。(1)行為日志記錄行為日志記錄就是要對用戶在系統(tǒng)中所訪問的每一個頁面,在各頁面中所做的每一個行為都記錄下來,記錄 用戶的身份和行為的時刻。例如,租戶A的用戶A1在2011年7月13日17:07:50訪問了 XXX系統(tǒng)的重要客戶列表頁面,做了刪除客戶 信息的操作。行為日志記錄的實現(xiàn),可以采用面向方法的方案來實現(xiàn),例如,通過過濾器或攔截器的方式(Spring前置裝 備),來對所有的頁面請求行為及頁面里的提交行為多進行攔截,然后將其記錄在日
18、志文件里或數(shù)據(jù)庫里。行為 日志記錄是辨別用戶在系統(tǒng)中行為的一個重要依據(jù),對于系統(tǒng)使用與系統(tǒng)運營分開的SaaS系統(tǒng)就顯得尤為重要。(2)數(shù)據(jù)日志記錄數(shù)據(jù)日志記錄,就是要對用戶在系統(tǒng)中所操作的數(shù)據(jù)進行記錄,記錄數(shù)據(jù)的變更過程及變更的歷史。這在多 人操作同一個數(shù)據(jù)的系統(tǒng)中顯得尤為重要。可以通過流程引擎記錄流程日志。例如,用戶A在財務系統(tǒng)中提交了一張財務報銷單,報銷金額是1000元,在經(jīng)過了用戶B、C、D等一系列人 的修改和審批后,用戶A看到的報銷金額變成了 500元,如果沒有報銷金額的變更日志記錄,用戶A 一定會很疑 惑,是誰因為什么原因修改了這個報銷金額。那么,系統(tǒng)就很有必要對報銷金額的變更進行日
19、志記錄。(3)日志記錄的安全日志記錄是對用戶在系統(tǒng)中行為進行查證的依據(jù),是用來跟蹤和保障系統(tǒng)安全的,那么,日志記錄本身的安 全性也是需要重點考慮的。專業(yè)專注首先,日志記錄應該是只讀的,最好能加上時間戳,不應該被認為修改或者偽造;其次,日志記錄涉及用戶 的隱私,應該是保密的,要防止被非法使用。租戶的日志只向Tenant管理員開發(fā),并且Tenant管理員也只能查詢租戶自己的日志。數(shù)據(jù)加密算法(會犧牲一定性能)1、使用AES對稱加密算法;2、每個企業(yè)生成一個數(shù)據(jù)密鑰(生成后不能改變,否則先前加密過的數(shù)據(jù)無法進行解密);3、企業(yè)key是利用企業(yè)管理員的密碼明文去加密存儲的,這就要求每個企業(yè)在建立時,必
20、須先建立一個管理 員;4、該企業(yè)下的每個用戶使用其自身的登錄密碼原文對數(shù)據(jù)密碼進行AES加密,并存儲到用戶表中。(密鑰 加密);5、用戶保存敏感數(shù)據(jù)時,使用以準備好的密鑰對數(shù)據(jù)進行AES加密;力口/解密過程:1、企業(yè)注冊時,為企業(yè)生成一個唯一的key ,存放于企業(yè)表中;2、用戶注冊后,用戶表中存放一個利用用戶密碼明文加密過的企業(yè)key ;3、用戶登錄后,通過密碼明文,解密出企業(yè)key ,并存放到相應位置,待加/解密時使用;4、用戶修改密碼時,要使用原密碼將企業(yè)key解密,并用新密碼重新加密保存;專業(yè)專注基于SaaS云計算網(wǎng)絡性能測試指標衡量云計算的網(wǎng)絡性能根據(jù)使用的網(wǎng)絡設備不同擁有很多指標。最
21、常見最關鍵的性能指標包括以下幾項:新 建速率(CPS )、并發(fā)數(shù)(CC )吞吐量(GoodPut )、響應時間(Response Time )。(1)新建速率新建速率指通過數(shù)據(jù)中心中間網(wǎng)絡每秒可以處理的TCP Session速率,單位為CPS ( Connections PerSecond )。新建速率中的“新建”是指一個TCP Session成功建立并關閉的整個過程,將TCP關閉方式選擇使用TCP FIN報 文觸發(fā)的4次握手關閉方式。此種方式最符合當前普遍的網(wǎng)絡協(xié)議應用模型。在部分特殊業(yè)務需求的測試場景下, 還可以采用TCP RESET方式進行快速會話關閉,以檢驗網(wǎng)絡系統(tǒng)能夠支持的極限性能。
22、新建速率指標將主要體現(xiàn)數(shù)據(jù)中心網(wǎng)絡設備的CPU運算處理能力。對新建速率測試開始前,應記錄網(wǎng)絡處理 設備的CPU/Memory等關鍵性能指標,測試過程中和結束后對這些指標進行監(jiān)控,實時了解整個網(wǎng)絡的運行情 況。(2)并發(fā)數(shù)并發(fā)數(shù)指通過數(shù)據(jù)中心中間網(wǎng)絡可以同時并發(fā)存在的最大TCP Session數(shù)量,單位為CC ( CurrentConnections )。并發(fā)數(shù)指標體現(xiàn)了整網(wǎng)會話保持與表項存儲的能力,與網(wǎng)絡處理設備的內(nèi)存大小有直接關系。對于并發(fā)數(shù)指標測試來說,尤其需要關注其上層協(xié)議的具體應用,一個Telnet連接保持1小時與一個http連 接保持1小時在協(xié)議處理流程上是有很大不同的,應盡量根據(jù)實際網(wǎng)絡中的業(yè)務流量設計測試模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度離婚后子女監(jiān)護權與探望權約定合同2篇
- 二零二五年度門衛(wèi)巡邏車購置與維護合同5篇
- 二手房買賣合同模板2024年版版B版
- 二零二五年度牛糞有機肥原料采購合同范本4篇
- 二零二五年度家具原材料采購合同4篇
- 2025年度智能儲藏室與車位租賃買賣合同模板4篇
- 二零二五年度外匯貸款合同違約責任范本
- 2025年度房地產(chǎn)估價咨詢合同示范文本
- 2025年度民辦學校教師學術交流與合作合同4篇
- 二零二五年度外教兼職學術研究資助合同
- 電工基礎知識培訓課程
- 住宅樓安全性檢測鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學年五年級上學期期末考試數(shù)學試題
- 市政道路及設施零星養(yǎng)護服務技術方案(技術標)
- 藝術培訓校長述職報告
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學年人教版(2019)高二數(shù)學選修一
- 《論語》學而篇-第一課件
- 《寫美食有方法》課件
- 學校制度改進
- 各行業(yè)智能客服占比分析報告
- 年產(chǎn)30萬噸高鈦渣生產(chǎn)線技改擴建項目環(huán)評報告公示
評論
0/150
提交評論