面向服務(wù)的架構(gòu)SOA_第1頁
面向服務(wù)的架構(gòu)SOA_第2頁
面向服務(wù)的架構(gòu)SOA_第3頁
面向服務(wù)的架構(gòu)SOA_第4頁
面向服務(wù)的架構(gòu)SOA_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、表這些工作后,數(shù)據(jù)庫上的壓力已經(jīng)降到比較低了,又開始過著每天看著訪問量暴增的幸福生活了,突然有一天,發(fā)現(xiàn)系統(tǒng)的訪問又開始有變慢的趨勢了,這個時候首先查看數(shù)據(jù)庫,壓力一切正常,之后查看webserver,發(fā)現(xiàn)apache阻塞了很多的請求,而應(yīng)用服務(wù)器對每個請求也是比較快的,看來 是請求數(shù)太高導(dǎo)致需要排隊等待,響應(yīng)速度變慢,系統(tǒng)架構(gòu)演化歷程-使用應(yīng)用服務(wù)器集群,發(fā)展歷史及背景,多臺服務(wù)器通過負(fù)載均衡同時向外部提供服務(wù),解決單臺服務(wù)器處理能力和存儲空間上限的問題。 使用集群是系統(tǒng)解決高并發(fā)、海量數(shù)據(jù)問題的常用手段。通過向集群中追加資源,提升系統(tǒng)的并發(fā)處理能力,使得服務(wù)器的負(fù)載壓力不再成為整個系統(tǒng)的瓶

4、頸。,系統(tǒng)架構(gòu)演化歷程-使用應(yīng)用服務(wù)器集群,發(fā)展歷史及背景,享受了一段時間的系統(tǒng)訪問量高速增長的幸福后,發(fā)現(xiàn)系統(tǒng)又開始變慢了,這次又是什么狀況呢,經(jīng)過查找,發(fā)現(xiàn)數(shù)據(jù)庫寫入、更新的這些操作的部分?jǐn)?shù)據(jù)庫連接的資源競爭非常激烈,導(dǎo)致了系統(tǒng)變慢,系統(tǒng)架構(gòu)演化歷程-數(shù)據(jù)庫讀寫分離,發(fā)展歷史及背景,系統(tǒng)架構(gòu)演化歷程-反向代理和CDN加速,發(fā)展歷史及背景,系統(tǒng)架構(gòu)演化歷程-分布式文件系統(tǒng)和分布式數(shù)據(jù)庫,發(fā)展歷史及背景,任何強大的單一服務(wù)器都滿足不了大型系統(tǒng)持續(xù)增長的業(yè)務(wù)需求,數(shù)據(jù)庫讀寫分離隨著業(yè)務(wù)的發(fā)展最終也將無法滿足需求,需要使用分布式數(shù)據(jù)庫及分布式文件系統(tǒng)來支撐。分布式數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫拆分的最后方法,

5、只有在單表數(shù)據(jù)規(guī)模非常龐大的時候才使用,更常用的數(shù)據(jù)庫拆分手段是業(yè)務(wù)分庫,將不同的業(yè)務(wù)數(shù)據(jù)庫部署在不同的物理服務(wù)器上。,系統(tǒng)架構(gòu)演化歷程-使用NoSQL和搜索引擎,發(fā)展歷史及背景,系統(tǒng)架構(gòu)演化歷程-業(yè)務(wù)拆分(橫向拆分),發(fā)展歷史及背景,系統(tǒng)架構(gòu)演化歷程-分布式服務(wù)(橫向拆分),發(fā)展歷史及背景,公共的應(yīng)用模塊被提取出來,部署在分布式服務(wù)器上供應(yīng)用服務(wù)器調(diào)用。,系統(tǒng)架構(gòu)演化歷程-面向服務(wù)的架構(gòu)SOA,發(fā)展歷史及背景,系統(tǒng)架構(gòu)演化歷程-面向服務(wù)的架構(gòu)SOA,發(fā)展歷史及背景,為什么需要SOA?,發(fā)展歷史及背景,本質(zhì)上是兩種力量驅(qū)動的結(jié)果:需求拉動、技術(shù)推動。 業(yè)務(wù)需求的拉動,希望解決業(yè)務(wù)應(yīng)用的問題;

6、技術(shù)發(fā)展的推動,使得SOA具備了技術(shù)上的可行性。 需求拉動方面,主要來自于兩種信息化的困境。一個是“信息孤島”造成基于系統(tǒng)之間互聯(lián)互通的整合需求;另一個是業(yè)務(wù)的變化所導(dǎo)致對IT靈活性,以適應(yīng)變化的需求。,為什么需要SOA?,發(fā)展歷史及背景,為什么需要SOA? 復(fù)用,發(fā)展歷史及背景,軟件應(yīng)用領(lǐng)域越來越多,相同領(lǐng)域的應(yīng)用系統(tǒng)之間許多基礎(chǔ)功能和結(jié)構(gòu)是有相似性的,每次開發(fā)系統(tǒng)都從零開始絕對不是一種好的方法,也是對質(zhì)量和效率的很大的傷害。 盡可能多地凝練共性并復(fù)用以提高軟件開發(fā)效率和質(zhì)量,通過中間件通過提供簡單、一致、集成的開發(fā)和運行環(huán)境,簡化分布式系統(tǒng)的設(shè)計、編程和管理,這也是SOA發(fā)展的重要推動力。

7、 軟件技術(shù)發(fā)展內(nèi)容,包括更好的程序設(shè)計語言、更好的平臺和軟件開發(fā)技術(shù),如面向?qū)ο?、組件開發(fā)、面向服務(wù)等等。而這方面,在技術(shù)上逐漸發(fā)展的成果大部分都凝聚在今天的SOA解決方案之中。,為什么需要SOA?,發(fā)展歷史及背景,如何準(zhǔn)確理解SOA?,基本概念,OASIS(一個SOA標(biāo)準(zhǔn)組織)給予出的SOA定義“SOA是一個范式,用于組織和利用可能處于不同所有權(quán)范圍控制下的分布式系統(tǒng)。” 維基百科給出的SOA定義“面向服務(wù)的體系結(jié)構(gòu)(Service-oriented architecture)是構(gòu)造分布式系統(tǒng)的應(yīng)用程序的方法。它將應(yīng)用程序功能作為服務(wù)發(fā)送給最終用戶或者其他服務(wù)。它采用開放標(biāo)準(zhǔn)、與軟件資源進(jìn)行

8、交互并采用表示的標(biāo)準(zhǔn)方式”。 SOA是包含運行環(huán)境、編程模型、架構(gòu)風(fēng)格和相關(guān)方法論等在內(nèi)的一整套新的分布式軟件系統(tǒng)構(gòu)造方法和環(huán)境,涵蓋服務(wù)的整個生命周期:建模-開發(fā)-整合-部署-運行-管理。,如何準(zhǔn)確理解SOA?,基本概念,其他與SOA相關(guān)的概念-ESB,基本概念,ESB(企業(yè)服務(wù)總線 Enterprise Service Bus)是一種在松散耦合的服務(wù)和應(yīng)用之間標(biāo)準(zhǔn)的集成方式。ESB采用了“總線”這樣一種模式來管理和簡化應(yīng)用之間的集成拓?fù)浣Y(jié)構(gòu),以廣為接受的開放標(biāo)準(zhǔn)為基礎(chǔ)來支持應(yīng)用之間在消息、事件和服務(wù)級別上動態(tài)的互連互通。 ESB提供了事件驅(qū)動和文檔導(dǎo)向的處理模式,以及分布式的運行管理機制,

9、它支持基于內(nèi)容的路由和過濾,具備了復(fù)雜數(shù)據(jù)的傳輸能力,并可以提供一系列的標(biāo)準(zhǔn)接口。同時可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運作,實現(xiàn)了不同服務(wù)之間的通信與整合。 它可以作用于: 面向服務(wù)的架構(gòu)分布式的應(yīng)用由可重用的服務(wù)組成; 面向消息的架構(gòu)應(yīng)用之間通過ESB發(fā)送和接受消息; 事件驅(qū)動的架構(gòu)應(yīng)用之間異步地產(chǎn)生和接收消息。,ESB-企業(yè)服務(wù)總線,像一根“聰明”的管道,用來連接各個“愚笨”的節(jié)點。為了集成不同系統(tǒng),不同協(xié)議的服務(wù),ESB做了消息的轉(zhuǎn)換解釋與路由等工作,讓不同的服務(wù)互聯(lián)互通。,其他與SOA相關(guān)的概念-JBI&SCA&SDO,基本概念,SOA在Java領(lǐng)域有兩套標(biāo)準(zhǔn):一

10、個是SUN推出的JBI(沒有得到BEA和IBM的承認(rèn)),另外一個是:IBM和BEA等公司推出的SCA和SDO標(biāo)準(zhǔn)。 JBI(Java Business Integration Java業(yè)務(wù)集成)只關(guān)注Java組件只處理Java組件的集成。 SCA(Service Component Architecture 服務(wù)組件架構(gòu))實現(xiàn)了業(yè)務(wù)組件和傳輸協(xié)議的分離,可以處理各種平臺組件的集成。 SDO可以的自由讀取各種不同數(shù)據(jù)源的數(shù)據(jù)。 SCA的實現(xiàn)需要ESB,相反JBI則不需要ESB。,核心要素,核心思想,標(biāo)準(zhǔn)化封裝(滿足互操作性),核心思想,在軟件的互操作方面,傳統(tǒng)中間件只是實現(xiàn)了訪問互操作,即通過標(biāo)

11、準(zhǔn)化的API實現(xiàn)了同類系統(tǒng)之間的調(diào)用互操作,而連接互操作還是依賴于特定的訪問協(xié)議,如JAVA使用RMI等。而SOA通過標(biāo)準(zhǔn)的、支持Internet、與操作系統(tǒng)無關(guān)的SOAP協(xié)議實現(xiàn)了連接互操作。而且,服務(wù)的封裝是采用XML協(xié)議,具有自解析和自定義的特性,這樣,基于SOA的中間件還可以實現(xiàn)語義互操作。 SOA要實現(xiàn)互操作,就是通過一系列的標(biāo)準(zhǔn)族,來實現(xiàn)訪問、連接和語義等各種層面的互操作。,標(biāo)準(zhǔn)化封裝(滿足互操作性),核心思想,復(fù)用,核心思想,耦合性,核心思想,設(shè)計原則,核心思想,(1)無狀態(tài)。以避免服務(wù)請求者總依賴于服務(wù)的提供者的狀態(tài)。 (2)單一實例。避免功能冗余。 (3)明確定義的接口。ws

12、dl標(biāo)準(zhǔn) (4)自包含和模塊化。獨立進(jìn)行部署、版本控制、自我管理等。 (5)粗粒度。服務(wù)數(shù)量不應(yīng)太大。 (6)松耦合。 (7)重用性。 (8)互操作性。,基本架構(gòu),核心思想,基本架構(gòu),核心思想,WebService,簡單實現(xiàn),Web Services,從字面上理解就是通過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)用軟件能夠通過Internet來訪問并使用這項應(yīng)用服務(wù)Web 。 service 簡單來說就是一個向外界暴露出的能夠通過internet進(jìn)行調(diào)用的api和應(yīng)用程序, 是基于SOA松耦合等思想開發(fā)出來的一套技術(shù),但是它并一定完全符合SOA的架構(gòu)。,WebService,簡單實現(xiàn),SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegrat

溫馨提示

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

最新文檔

評論

0/150

提交評論