面向生產(chǎn)環(huán)境的soa系統(tǒng)設(shè)計(jì)by_第1頁(yè)
面向生產(chǎn)環(huán)境的soa系統(tǒng)設(shè)計(jì)by_第2頁(yè)
面向生產(chǎn)環(huán)境的soa系統(tǒng)設(shè)計(jì)by_第3頁(yè)
面向生產(chǎn)環(huán)境的soa系統(tǒng)設(shè)計(jì)by_第4頁(yè)
面向生產(chǎn)環(huán)境的soa系統(tǒng)設(shè)計(jì)by_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、準(zhǔn)備好發(fā)射了嗎?面向生產(chǎn)環(huán)境的SOA系統(tǒng)設(shè)計(jì)程立 IT168系統(tǒng)架構(gòu)師大會(huì),北京,2009年8月28日15:57典型SOA應(yīng)用展現(xiàn)服務(wù)產(chǎn)品服務(wù)公共服務(wù)基礎(chǔ)服務(wù)集成服務(wù)基礎(chǔ)服務(wù)公共服務(wù)公共服務(wù)公共服務(wù)外部服務(wù)提供者服務(wù)使用者集成服務(wù)一個(gè)SOA應(yīng)用由一系列服務(wù)松散復(fù)合而成。15:57服務(wù)使用者服務(wù)的內(nèi)部服務(wù)接入流程、任務(wù)、決策領(lǐng)域倉(cāng)儲(chǔ)外部服務(wù)資源外部服務(wù)領(lǐng)域?qū)ο蠓?wù)代理每個(gè)服務(wù)都是自包含、自主運(yùn)行的功能單元。15:57服務(wù)是基礎(chǔ)架構(gòu)單元作為基礎(chǔ)業(yè)務(wù)、應(yīng)用與技術(shù)架構(gòu)單元,服務(wù)具有豐富的含義。服務(wù)使用者服務(wù)提供者服務(wù)質(zhì)量約束服務(wù)位置功能描述交互模式通信協(xié)議消息格式15:57SOA技術(shù)基礎(chǔ)設(shè)施SOA應(yīng)用

2、需要一系列技術(shù)基礎(chǔ)設(shè)施的支持。數(shù)據(jù)企業(yè)服務(wù)總線展現(xiàn)與交互流程與決策組件與服務(wù)數(shù)據(jù)與應(yīng)用集成跨企業(yè)集成服務(wù)目錄服務(wù)監(jiān)控公共技術(shù)服務(wù)后端應(yīng)用渠道browser客戶端移動(dòng)設(shè)備語(yǔ)音外部企業(yè)應(yīng)用15:57一個(gè)典型的電子支付應(yīng)用商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查通過(guò)建設(shè)基礎(chǔ)業(yè)務(wù)平臺(tái),達(dá)到快速構(gòu)建與改進(jìn)上層的產(chǎn)品與解決方案的目標(biāo)?;A(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案x215:57交付前,你胸有成竹嗎性能容量健壯商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案?

3、x215:57性能針對(duì)性能的分析與優(yōu)化15:57響應(yīng)時(shí)間分析如何合理地估算服務(wù)的響應(yīng)時(shí)間?商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案20025010350100150300(10*3+350+100+150+300)+50=980990 x23015:57響應(yīng)時(shí)間優(yōu)化通過(guò)異步調(diào)用降低響應(yīng)時(shí)間商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案20010350100150(10*3+350+100+150+10)+50=69

4、0700async10/300 x22503015:57響應(yīng)時(shí)間優(yōu)化通過(guò)future異步調(diào)用降低響應(yīng)時(shí)間商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案20010350(10*3+350+max(100,150)+10)+50=590600async10/300futurefuture100150 x22503015:57關(guān)于性能的基礎(chǔ)設(shè)施支持 知曉所有服務(wù)的響應(yīng)時(shí)間數(shù)據(jù): 服務(wù)監(jiān)控 支持各種異步服務(wù)使用: 服務(wù)通信總線數(shù)據(jù)企業(yè)服務(wù)總線展現(xiàn)與交互流程與決策組件與服務(wù)數(shù)據(jù)與應(yīng)用集成跨企業(yè)集成服務(wù)目錄服務(wù)監(jiān)控公共

5、技術(shù)服務(wù)后端應(yīng)用渠道browser客戶端移動(dòng)設(shè)備語(yǔ)音外部企業(yè)應(yīng)用15:57小結(jié)在設(shè)計(jì)階段就必須估算與優(yōu)化性能準(zhǔn)確估算性能依賴于真實(shí)的監(jiān)控?cái)?shù)據(jù),尤其是業(yè)務(wù)平臺(tái)的性能監(jiān)控?cái)?shù)據(jù)靈活的服務(wù)通信設(shè)施使提升性能成為可能15:57容量針對(duì)容量的分析與優(yōu)化15:57吞吐量分析如何合理地估算新業(yè)務(wù)上線對(duì)容量的需求?商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案?505015050505050 x250505015015:57吞吐量分析平臺(tái)容量對(duì)業(yè)務(wù)容量的約束商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶

6、信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案505015050505050 x250505015090 (3/5)50*min(4/5, 3/5)=30120 (4/5)15:57關(guān)鍵服務(wù)的吞吐量?jī)?yōu)化充分?jǐn)U容平衡擴(kuò)容消除資源單點(diǎn)瓶頸服務(wù)使用者服務(wù)提供者服務(wù)服務(wù)吞吐量伸縮公式伸縮上限單資源吞吐量上限15:57非關(guān)鍵服務(wù)的吞吐量?jī)?yōu)化非關(guān)鍵的業(yè)務(wù)服務(wù)的容量允許短路,提供降級(jí)服務(wù)。商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案x2optionaloptional15:57資源使用分析估算新業(yè)務(wù)

7、對(duì)關(guān)鍵資源的使用 (以SQL執(zhí)行次數(shù)為例)商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案51061081510 x2851513(13+(15*2)+10=5323(6*3+53+23+15+10)+10=12913415:57資源使用優(yōu)化通用服務(wù)代理緩存服務(wù)結(jié)果。服務(wù)提供者支持檢查資源更新時(shí)間戳。服務(wù)使用者服務(wù)提供者1. 查詢(資源Id)服務(wù)結(jié)果cachekey=服務(wù)+操作+資源Idvalue=資源Id+時(shí)間戳+服務(wù)結(jié)果通用服務(wù)代理2. 檢查cache (Y)5. 返回cache結(jié)果3. 是否更新?4.

8、No15:57關(guān)于容量的基礎(chǔ)設(shè)施支持 知曉所有服務(wù)的吞吐量與資源使用: 服務(wù)監(jiān)控 支持optional服務(wù)使用: 服務(wù)通信總線服務(wù)結(jié)果cache: 服務(wù)代理數(shù)據(jù)企業(yè)服務(wù)總線展現(xiàn)與交互流程與決策組件與服務(wù)數(shù)據(jù)與應(yīng)用集成跨企業(yè)集成服務(wù)目錄服務(wù)監(jiān)控公共技術(shù)服務(wù)后端應(yīng)用渠道browser客戶端移動(dòng)設(shè)備語(yǔ)音外部企業(yè)應(yīng)用服務(wù)代理15:57小結(jié)在設(shè)計(jì)階段就必須估算與優(yōu)化容量充分、平衡對(duì)業(yè)務(wù)平臺(tái)進(jìn)行擴(kuò)容,既有前瞻性又控制成本針對(duì)“熱點(diǎn)”進(jìn)行優(yōu)化準(zhǔn)確估算容量依賴于真實(shí)的監(jiān)控?cái)?shù)據(jù)區(qū)別業(yè)務(wù)的等級(jí)15:57健壯在不確定的世界中交付確定的服務(wù)15:57單個(gè)服務(wù)的故障條件服務(wù)使用者服務(wù)接入流程、任務(wù)、決策領(lǐng)域倉(cāng)儲(chǔ)外部服務(wù)

9、資源外部服務(wù)領(lǐng)域?qū)ο蠓?wù)代理唯一確定的是不確定。并發(fā)請(qǐng)求重復(fù)請(qǐng)求超量請(qǐng)求資源不可用資源響應(yīng)超時(shí)通信中斷外部服務(wù)響應(yīng)超時(shí)外部服務(wù)違背功能契約BUG處理超時(shí)服務(wù)不可用請(qǐng)求積壓處理中斷15:57故障空間組合爆炸處處都有多種故障可能,可能窮盡其組合嗎?商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案x2重復(fù)請(qǐng)求BUG外部服務(wù)中斷資源不可用15:57應(yīng)對(duì)方式避免發(fā)生降低概率控制影響快速恢復(fù)故障條件應(yīng)對(duì)方式超量請(qǐng)求配額控制重復(fù)請(qǐng)求冪等控制并發(fā)請(qǐng)求并發(fā)控制請(qǐng)求積壓請(qǐng)求丟棄服務(wù)/資源響應(yīng)超時(shí)時(shí)間控制可恢復(fù)通信故障合理重試處理

10、中斷事務(wù)/分布事務(wù)BUG自檢15:57局部配額控制一種簡(jiǎn)單的基于令牌的配額控制方法。令牌服務(wù)維持本地各個(gè)服務(wù)的可用令牌數(shù)。服務(wù)接入令牌服務(wù)服務(wù)處理1. 服務(wù)請(qǐng)求2. 申請(qǐng)令牌 (Y)3. 服務(wù)處理4. 歸還令牌5. 返回結(jié)果服務(wù)接入令牌服務(wù)服務(wù)處理1. 服務(wù)請(qǐng)求2. 申請(qǐng)令牌 (N)3. 拒絕請(qǐng)求15:57冪等服務(wù)同一個(gè)服務(wù)操作實(shí)例最多只允許執(zhí)行一次。資源一個(gè)服務(wù)操作實(shí)例兩種操作實(shí)例標(biāo)識(shí)法:基于業(yè)務(wù)活動(dòng)實(shí)例Id=業(yè)務(wù)活動(dòng)Id+操作序號(hào)(2) 基于資源實(shí)例Id=資源Id+操作類型動(dòng)作1動(dòng)作2動(dòng)作3一次業(yè)務(wù)活動(dòng)執(zhí)行15:57冪等控制一種簡(jiǎn)單的基于操作日志的冪等控制方法。操作實(shí)例Id上建立唯一性約束

11、。操作日志不僅用于冪等控制,還可用于操作審計(jì)等用途。服務(wù)接入操作日志服務(wù)服務(wù)處理1. 服務(wù)請(qǐng)求2. 登記日志(OK)3. 服務(wù)處理4. 返回結(jié)果服務(wù)接入操作日志服務(wù)服務(wù)處理1. 服務(wù)請(qǐng)求2. 登記日志(違背唯一約束)3. 拒絕處理15:57基于資源的并發(fā)控制 (悲觀)經(jīng)典的資源并發(fā)控制方式。事務(wù)長(zhǎng)度限制了系統(tǒng)伸縮能力。不適用熱點(diǎn)資源。資源服務(wù)處理引擎領(lǐng)域倉(cāng)儲(chǔ)2. 加載并鎖定資源root對(duì)象領(lǐng)域?qū)ο?服務(wù)3. 領(lǐng)域?qū)ο蟛僮?. 持久領(lǐng)域?qū)ο?. 開始事務(wù)5. 提交事務(wù)15:57基于資源的并發(fā)控制(樂(lè)觀)同樣經(jīng)典的資源并發(fā)控制方式。事務(wù)長(zhǎng)度短,提高系統(tǒng)伸縮性。同樣不適用于熱點(diǎn)資源。資源服務(wù)處理引擎

12、領(lǐng)域倉(cāng)儲(chǔ)1. 加載領(lǐng)域?qū)ο箢I(lǐng)域?qū)ο?服務(wù)2. 領(lǐng)域?qū)ο蟛僮?. 更新領(lǐng)域?qū)ο笸瑫r(shí)檢查并發(fā)3. 開始事務(wù)5. 提交事務(wù)15:57基于分布式鎖服務(wù)的并發(fā)控制沒(méi)有可加鎖的資源,怎么辦?以操作實(shí)例Id作為鎖標(biāo)識(shí)。每個(gè)鎖都有生命周期(lock_delay)過(guò)期鎖被自我釋放。服務(wù)處理時(shí)間不應(yīng)超過(guò)lock_delay。服務(wù)接入分布式鎖服務(wù)服務(wù)處理1. 服務(wù)請(qǐng)求2. 申請(qǐng)互斥鎖 (帶lock_delay)3. 服務(wù)處理5. 返回結(jié)果4. 釋放互斥鎖超時(shí),自動(dòng)釋放鎖15:57請(qǐng)求丟棄服務(wù)請(qǐng)求包含處理期限 ( = 請(qǐng)求發(fā)出時(shí)間 + 客戶端超時(shí)設(shè)置)已過(guò)期的請(qǐng)求直接丟棄,騰出寶貴服務(wù)處理資源。服務(wù)接入服務(wù)處理1.

13、從隊(duì)列中取出服務(wù)請(qǐng)求3. 丟棄請(qǐng)求2. 請(qǐng)求已過(guò)期? (Yes)15:57時(shí)間控制 延誤的處理比不處理更糟糕。 一個(gè)業(yè)務(wù)活動(dòng)是否要繼續(xù)處理,取決于整體期限。整體期限在統(tǒng)一業(yè)務(wù)活動(dòng)上下文中傳輸??紤]服務(wù)器時(shí)間差異補(bǔ)償。商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案x200:00.000/1000ms00:00.800/500ms00:01.100 00:01.00015:57領(lǐng)域自檢不變式 狀態(tài)變遷 資源服務(wù)處理引擎領(lǐng)域倉(cāng)儲(chǔ)2. 加載并鎖定資源root對(duì)象領(lǐng)域?qū)ο?服務(wù)4. 領(lǐng)域?qū)ο蟛僮?. 持久領(lǐng)域?qū)ο?.

14、 開始事務(wù)7. 提交事務(wù)3. 領(lǐng)域?qū)ο笞詸z5. 領(lǐng)域?qū)ο笞詸z15:57分布事務(wù) (TCC模式)Try: 嘗試執(zhí)行業(yè)務(wù)Confirm:確認(rèn)執(zhí)行業(yè)務(wù)Cancel: 取消執(zhí)行業(yè)務(wù)業(yè)務(wù)服務(wù)tryXconfirmXcancelX15:57分布事務(wù) (TCC模式)基于TCC模式的分布事務(wù)執(zhí)行過(guò)程示例。商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案x2一次資金記賬操作分為兩步:try: 完成所有賬務(wù)處理必須的業(yè)務(wù)檢查與資源(資金)預(yù)留。confirm: 釋放資源并真正進(jìn)行賬務(wù)處理。confirm操作在整個(gè)業(yè)務(wù)活動(dòng)結(jié)束后由系統(tǒng)自動(dòng)完成。15:57分布事務(wù) (補(bǔ)償模式)do: 真正執(zhí)行業(yè)務(wù)compensate:業(yè)務(wù)補(bǔ)償業(yè)務(wù)服務(wù)doXcompensateX15:57分布事務(wù) (補(bǔ)償模式)一次補(bǔ)償模式的業(yè)務(wù)執(zhí)行過(guò)程。商戶接入訂單處理支付處理清算處理通信前置資金記賬收費(fèi)處理營(yíng)銷處理客戶信息銀行支付清算網(wǎng)互聯(lián)網(wǎng)商戶x3安全核查基礎(chǔ)業(yè)務(wù)平臺(tái)產(chǎn)品與解決方案x2如果整個(gè)業(yè)務(wù)活動(dòng)回滾,而積分已發(fā)放,該操作可以被補(bǔ)償。15:57關(guān)于健壯的基礎(chǔ)設(shè)施支持 控

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論