面向服務(wù)的架構(gòu)soa_第1頁(yè)
面向服務(wù)的架構(gòu)soa_第2頁(yè)
面向服務(wù)的架構(gòu)soa_第3頁(yè)
面向服務(wù)的架構(gòu)soa_第4頁(yè)
面向服務(wù)的架構(gòu)soa_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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、面向服務(wù)的架構(gòu)-SOA主講人:嵩聚星主要內(nèi)容本次講座的內(nèi)容主要包括以下幾部分1 SOA的發(fā)展歷史及背景2 SOA的基本概念3 SOA的核心思想4 SOA的簡(jiǎn)單實(shí)現(xiàn)發(fā)展歷史及背景 問(wèn)題:假如你是馬云,你該如何管理阿里巴巴旗下的 諸多產(chǎn)品?是B/S模式?還是C/S模式?還是?發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-初始階段架構(gòu)應(yīng)用程序、數(shù)據(jù)庫(kù)、文件等所有的資源都在一臺(tái)服務(wù)器上。通常服務(wù)器操作系統(tǒng)使用linux,應(yīng)用程序使用PHP開(kāi)發(fā),然后部署在Apache上,數(shù)據(jù)庫(kù)使用Mysql,匯集各種免費(fèi)開(kāi)源軟件以及一臺(tái)廉價(jià)服務(wù)器就可以開(kāi)始系統(tǒng)的發(fā)展之路了。LAMP、J2EE、.Net等。發(fā)展歷史及背景 系統(tǒng)架構(gòu)演

2、化歷程-應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離應(yīng)用程序、數(shù)據(jù)庫(kù)、文件分別部署在獨(dú)立的資源上。數(shù)據(jù)量增加,單臺(tái)服務(wù)器性能及存儲(chǔ)空間不足,需要將應(yīng)用和數(shù)據(jù)分離,并發(fā)處理能力和數(shù)據(jù)存儲(chǔ)空間得到了很大改善。發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-使用緩存改善性能數(shù)據(jù)庫(kù)中訪問(wèn)較集中的一小部分?jǐn)?shù)據(jù)存儲(chǔ)在緩存服務(wù)器中,減少數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù),降低數(shù)據(jù)庫(kù)的訪問(wèn)壓力。系統(tǒng)訪問(wèn)特點(diǎn)遵循二八定律,即80%的業(yè)務(wù)訪問(wèn)集中在20%的數(shù)據(jù)上。緩存分為本地緩存和遠(yuǎn)程分布式緩存, 本地緩存訪問(wèn)速度更快但緩存數(shù)據(jù)量有限,同時(shí)存在與應(yīng)用程序爭(zhēng)用內(nèi)存的情況。發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-使用緩存改善性能在做完分庫(kù)分表這些工作后,數(shù)據(jù)庫(kù)上的壓力已經(jīng)降到

3、比較低了,又開(kāi)始過(guò)著每天看著訪問(wèn)量暴增的幸福生活了,突然有一天,發(fā)現(xiàn)系統(tǒng)的訪問(wèn)又開(kāi)始有變慢的趨勢(shì)了,這個(gè)時(shí)候首先查看數(shù)據(jù)庫(kù), 壓力一切正常,之后查看webserver,發(fā)現(xiàn)apache 阻塞了很多的請(qǐng)求,而應(yīng)用服務(wù)器對(duì)每個(gè)請(qǐng)求也是比較快的,看來(lái) 是請(qǐng)求數(shù)太高導(dǎo)致需要排隊(duì)等待,響應(yīng)速度變慢多臺(tái)服務(wù)器通過(guò)負(fù)載均衡同時(shí)向外部提供服務(wù), 解決單臺(tái)服務(wù)器處理能力和存儲(chǔ)空間上限的問(wèn)題。使用集群是系統(tǒng)解決高并發(fā)、海量數(shù)據(jù)問(wèn)題的常用手段。通過(guò)向集群中追加資源,提升系統(tǒng)的并發(fā)處理能力,使得服務(wù)器的負(fù)載壓力不再成為整個(gè)系統(tǒng)的瓶頸。享受了一段時(shí)間的系統(tǒng)訪問(wèn)量高速增長(zhǎng)的幸福后,發(fā)現(xiàn)系統(tǒng)又開(kāi)始變慢了,這次又是什么狀況呢

4、,經(jīng)過(guò)查找, 發(fā)現(xiàn)數(shù)據(jù)庫(kù)寫(xiě)入、更新的這些操作的部分?jǐn)?shù)據(jù)庫(kù)連接的資源競(jìng)爭(zhēng)非常激烈,導(dǎo)致了系統(tǒng)變慢發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-數(shù)據(jù)庫(kù)讀寫(xiě)分離發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-反向和CDN加速發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)任何強(qiáng)大的單一服務(wù)器都滿足不了大型系統(tǒng)持續(xù)增長(zhǎng)的業(yè)務(wù)需求,數(shù)據(jù)庫(kù)讀寫(xiě)分離隨著業(yè)務(wù)的發(fā)展最終也將無(wú)法滿足需求,需要使用分布式數(shù)據(jù)庫(kù)及分布式文件系統(tǒng)來(lái)支撐。分布式數(shù)據(jù)庫(kù)是關(guān)系數(shù)據(jù)庫(kù)拆分的最后方法,只有在單表數(shù)據(jù)規(guī)模非常龐大的時(shí)候才使用,更常用的數(shù)據(jù)庫(kù)拆分手段是業(yè)務(wù)分庫(kù),將不同的業(yè)務(wù)數(shù)據(jù)庫(kù)部署在不同的物理服務(wù)器上。發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-使

5、用NoSQL和搜索引擎發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-業(yè)務(wù)拆分(橫向拆分)發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-分布式服務(wù)(橫向拆分)公共的應(yīng)用模塊被提取出來(lái),部署在分布式服務(wù)器上供應(yīng)用服務(wù)器調(diào)用。發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-面向服務(wù)的架構(gòu)SOA發(fā)展歷史及背景 系統(tǒng)架構(gòu)演化歷程-面向服務(wù)的架構(gòu)SOA發(fā)展歷史及背景 為什么需要SOA?本質(zhì)上是兩種力量驅(qū)動(dòng)的結(jié)果:需求拉動(dòng)、技術(shù)推動(dòng)。業(yè)務(wù)需求的拉動(dòng),希望解決業(yè)務(wù)應(yīng)用的問(wèn)題;技術(shù)發(fā)展的推動(dòng),使得SOA具備了技術(shù)上的可行性。需求拉動(dòng)方面,主要來(lái)自于兩種信息化的困境。一個(gè)是“信息孤島”造成基于系統(tǒng)之間互聯(lián)互通的整合需求;另一個(gè)是業(yè)務(wù)的變化所導(dǎo)致對(duì)IT

6、靈活性,以適應(yīng)變化的需求。發(fā)展歷史及背景 為什么需要SOA?發(fā)展歷史及背景 為什么需要SOA? 復(fù)用軟件應(yīng)用領(lǐng)域越來(lái)越多,相同領(lǐng)域的應(yīng)用系統(tǒng)之間許多基礎(chǔ)功能和結(jié)構(gòu)是有相似性的,每次開(kāi)發(fā)系統(tǒng)都從零開(kāi)始絕對(duì)不是一種好的方法,也是對(duì)質(zhì)量和效率的很大的傷害。盡可能多地凝練共性并復(fù)用以提高軟件開(kāi)發(fā)效率和質(zhì)量,通過(guò)中間件通過(guò)提供簡(jiǎn)單、一致、集成的開(kāi)發(fā)和運(yùn)行環(huán)境,簡(jiǎn)化分布式系統(tǒng)的設(shè)計(jì)、編程和管理,這也是SOA發(fā)展的重要推動(dòng)力。軟件技術(shù)發(fā)展內(nèi)容,包括更好的程序設(shè)計(jì)語(yǔ)言、更好的平臺(tái)和軟件開(kāi)發(fā)技術(shù),如面向?qū)ο蟆⒔M件開(kāi)發(fā)、面向服務(wù)等等。而這方面,在技術(shù)上逐漸發(fā)展的成果大部分都凝聚在今天的SOA解決方案之中。發(fā)展歷史

7、及背景 為什么需要SOA?基本概念 如何準(zhǔn)確理解SOA?OASIS(一個(gè)SOA標(biāo)準(zhǔn)組織)給予出的SOA定義“SOA是一個(gè)范式,用于組織和利用可能處于不同所有權(quán)范圍控制下的分布式系統(tǒng)?!卑倏平o出的SOA定義“面向服務(wù)的體系結(jié)構(gòu)(Service- oriented architecture)是構(gòu)造分布式系統(tǒng)的應(yīng)用程序的方法。它將應(yīng)用程序功能作為服務(wù)發(fā)送給最終用戶或者其他服務(wù)。它采用開(kāi)放標(biāo)準(zhǔn)、與軟件資源進(jìn)行交互并采用表示的標(biāo)準(zhǔn)方式”。SOA是包含運(yùn)行環(huán)境、編程模型、架構(gòu)風(fēng)格和相關(guān)方法論等在內(nèi)的一整套新的分布式軟件系統(tǒng)構(gòu)造方法和環(huán)境,涵蓋服務(wù)的整個(gè)生命周期:建模-開(kāi)發(fā)-整合-部署-運(yùn)行-管理?;靖拍?/p>

8、 如何準(zhǔn)確理解SOA?基本概念 其他與SOA相關(guān)的概念-ESBESB(企業(yè)服務(wù)總線 Enterprise Service Bus)是一種在松散耦合的服務(wù)和應(yīng)用之間標(biāo)準(zhǔn)的集成方式。ESB采用了“總線”這樣一種模式來(lái)管理和簡(jiǎn)化應(yīng)用之間的集成拓?fù)浣Y(jié)構(gòu),以廣為接受的開(kāi)放標(biāo)準(zhǔn)為E基SB礎(chǔ)-來(lái)-企支業(yè)持服應(yīng)務(wù)用總之線間,在像消一息根、明和”服的務(wù)管級(jí)道別,上用動(dòng)態(tài)的互連互通。來(lái)連接各個(gè)“愚笨”的節(jié)點(diǎn)。為了集成不同系統(tǒng),ESB不提同供協(xié)了驅(qū)務(wù)動(dòng),和E文SB檔做導(dǎo)了向消的息處的理轉(zhuǎn)模換式解,釋以與及路分由布式的運(yùn)行管理機(jī)等制工,作它,支讓持不基同于的內(nèi)服容務(wù)的互路聯(lián)由互和通過(guò)。濾,具備了復(fù)雜數(shù)據(jù)的傳輸能力,并

9、可以提供一系列的標(biāo)準(zhǔn)接口。同時(shí)可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了不同服務(wù)之間的通信與整合。它可以作用于:面向服務(wù)的架構(gòu)分布式的應(yīng)用由可重用的服務(wù)組成;面向消息的架構(gòu)應(yīng)用之間通過(guò)ESB發(fā)送和接受消息;驅(qū)動(dòng)的架構(gòu)應(yīng)用之間異步地產(chǎn)生和接收消息。基本概念 其他與SOA相關(guān)的概念-JBI&SCA&SDOSOA在Java領(lǐng)域有兩套標(biāo)準(zhǔn):一個(gè)是SUN推出的JBI(沒(méi)有得到BEA和IBM的承認(rèn)),另外一個(gè)是:IBM和BEA等公司推出的SCA和SDO標(biāo)準(zhǔn)。JBI(Java Business Integration Java業(yè)務(wù)集成)只關(guān)注Java組件只處理Java組件的集成。SC

10、A(Service Component Architecture 服務(wù)組件架構(gòu))實(shí)現(xiàn)了業(yè)務(wù)組件和傳輸協(xié)議的分離,可以處理各種平臺(tái)組件的集成。SDO可以的自由讀取各種不同數(shù)據(jù)源的數(shù)據(jù)。SCA的實(shí)現(xiàn)需要ESB,相反JBI則不需要ESB。核心思想 核心要素核心思想 標(biāo)準(zhǔn)化封裝(滿足互操作性)在軟件的互操作方面,傳統(tǒng)中間件只是實(shí)現(xiàn)了訪問(wèn)互操作, 即通過(guò)標(biāo)準(zhǔn)化的API實(shí)現(xiàn)了同類系統(tǒng)之間的調(diào)用互操作,而連接互操作還是依賴于特定的訪問(wèn)協(xié)議,如JAVA使用RMI等。而SOA通過(guò)標(biāo)準(zhǔn)的、支持Internet、與操作系統(tǒng)無(wú)關(guān)的SOAP協(xié)議實(shí)現(xiàn)了連接互操作。而且,服務(wù)的封裝是采用XML協(xié)議,具有自解析和自定義的特性

11、,這樣,基于SOA的中間件還可以實(shí)現(xiàn)語(yǔ)義互操作。SOA要實(shí)現(xiàn)互操作,就是通過(guò)一系列的標(biāo)準(zhǔn)族,來(lái)實(shí)現(xiàn)訪問(wèn)、連接和語(yǔ)義等各種層面的互操作。核心思想 標(biāo)準(zhǔn)化封裝(滿足互操作性)核心思想 復(fù)用核心思想 耦合性核心思想 設(shè)計(jì)原則(1) 無(wú)狀態(tài)。以避免服務(wù)請(qǐng)求者總依賴于服務(wù)的提供者的狀態(tài)。(2) 單一實(shí)例。避免功能冗余。(3) 明確定義的接口。wsdl標(biāo)準(zhǔn)(4) 自包含和模塊化。獨(dú)立進(jìn)行部署、版本控制、自我管理等。(5) 粗粒度。服務(wù)數(shù)量不應(yīng)太大。(6) 松耦合。(7) 重用性。(8) 互操作性。核心思想 基本架構(gòu)核心思想 基本架構(gòu)簡(jiǎn)單實(shí)現(xiàn) WebServiceWeb Services,從字面上理解就是通

12、過(guò)Web提供的服務(wù)。我們可以理解Web Services是自包含的、模塊化的應(yīng)用程序,它可以在網(wǎng)絡(luò)(通常為Web)中被描述、發(fā)布、查找以及調(diào)用;也可以理解Web Services是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Sevices能與其他兼容的組件進(jìn)行互操作;也可以這樣理解,所謂Web服務(wù),它是指由企業(yè)發(fā)布的完成其特別商務(wù)需求的在線應(yīng)用服務(wù),其他公司或應(yīng)用軟件能夠通過(guò)Internet來(lái)訪問(wèn)并使用這項(xiàng)應(yīng)用服務(wù)Web 。service 簡(jiǎn)單來(lái)說(shuō)就是一個(gè)向外界暴露出的能夠通過(guò)internet進(jìn)行調(diào)用的api和應(yīng)用程序, 是基于SOA松耦合等思想開(kāi)發(fā)出來(lái)的一套技術(shù),但是它并一定完全符合SOA的架構(gòu)。簡(jiǎn)單實(shí)現(xiàn) WebServiceSOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)

溫馨提示

  • 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)論