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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 面向服務的架構面向服務的架構-SOA -SOA 主講人:嵩聚星主講人:嵩聚星SOA的發(fā)展歷史及背景的發(fā)展歷史及背景SOA的基本概念的基本概念SOA的核心思想的核心思想SOA的簡單實現(xiàn)的簡單實現(xiàn)本次講座的內容主要包括以下幾部分本次講座的內容主要包括以下幾部分4123主要內容主要內容 問題:假如你是馬云,你該如何管理阿里巴巴旗下的問題:假如你是馬云,你該如何管理阿里巴巴旗下的諸多產(chǎn)品?是諸多產(chǎn)品?是B/S模式?還是模式?還是C/S模式?還是模式?還是?發(fā)展歷史及背景發(fā)展歷史及背景 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-初始階段架構初始階段架構發(fā)展歷史及背景發(fā)展歷史及背景 應用程序、數(shù)據(jù)庫、文件等所有

2、的資源都在一臺服務器上。 通常服務器操作系統(tǒng)使用linux,應用程序使用PHP開發(fā),然后部署在Apache上,數(shù)據(jù)庫使用Mysql,匯集各種免費開源軟件以及一臺廉價服務器就可以開始系統(tǒng)的發(fā)展之路了。LAMP、J2EE、.Net等。 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-應用服務和數(shù)據(jù)服務分離應用服務和數(shù)據(jù)服務分離發(fā)展歷史及背景發(fā)展歷史及背景 應用程序、數(shù)據(jù)庫、文件分別部署在獨立的資源上。 數(shù)據(jù)量增加,單臺服務器性能及存儲空間不足,需要將應用和數(shù)據(jù)分離,并發(fā)處理能力和數(shù)據(jù)存儲空間得到了很大改善。 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-使用緩存改善性能使用緩存改善性能發(fā)展歷史及背景發(fā)展歷史及背景 數(shù)據(jù)庫中

3、訪問較集中的一小部分數(shù)據(jù)存儲在緩存服務器中,減少數(shù)據(jù)庫的訪問次數(shù),降低數(shù)據(jù)庫的訪問壓力。 系統(tǒng)訪問特點遵循二八定律,即80%的業(yè)務訪問集中在20%的數(shù)據(jù)上。緩存分為本地緩存和遠程分布式緩存,本地緩存訪問速度更快但緩存數(shù)據(jù)量有限,同時存在與應用程序爭用內存的情況。 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-使用緩存改善性能使用緩存改善性能發(fā)展歷史及背景發(fā)展歷史及背景 在做完分庫分表這些工作后,數(shù)據(jù)庫上的壓力已經(jīng)降到比較低了,又開始過著每天看著訪問量暴增的幸福生活了,突然有一天,發(fā)現(xiàn)系統(tǒng)的訪問又開始有變慢的趨勢了,這個時候首先查看數(shù)據(jù)庫,壓力一切正常,之后查看webserver,發(fā)現(xiàn)apache阻塞了很多

4、的請求,而應用服務器對每個請求也是比較快的,看來 是請求數(shù)太高導致需要排隊等待,響應速度變慢 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-使用應用服務器集群使用應用服務器集群發(fā)展歷史及背景發(fā)展歷史及背景 多臺服務器通過負載均衡同時向外部提供服務,解決單臺服務器處理能力和存儲空間上限的問題。 使用集群是系統(tǒng)解決高并發(fā)、海量數(shù)據(jù)問題的常用手段。通過向集群中追加資源,提升系統(tǒng)的并發(fā)處理能力,使得服務器的負載壓力不再成為整個系統(tǒng)的瓶頸。 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-使用應用服務器集群使用應用服務器集群發(fā)展歷史及背景發(fā)展歷史及背景 享受了一段時間的系統(tǒng)訪問量高速增長的幸福后,發(fā)現(xiàn)系統(tǒng)又開始變慢了,這次又是什

5、么狀況呢,經(jīng)過查找,發(fā)現(xiàn)數(shù)據(jù)庫寫入、更新的這些操作的部分數(shù)據(jù)庫連接的資源競爭非常激烈,導致了系統(tǒng)變慢 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-數(shù)據(jù)庫讀寫分離數(shù)據(jù)庫讀寫分離發(fā)展歷史及背景發(fā)展歷史及背景 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-反向代理和反向代理和CDN加速加速發(fā)展歷史及背景發(fā)展歷史及背景 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-分布式文件系統(tǒng)和分布式數(shù)據(jù)庫分布式文件系統(tǒng)和分布式數(shù)據(jù)庫發(fā)展歷史及背景發(fā)展歷史及背景任何強大的單一服務器都滿足不了大型系統(tǒng)持續(xù)增長的業(yè)務需求,數(shù)據(jù)庫讀寫分離隨著業(yè)務的發(fā)展最終也將無法滿足需求,需要使用分布式數(shù)據(jù)庫及分布式文件系統(tǒng)來支撐。分布式數(shù)據(jù)庫是關系數(shù)據(jù)庫拆分的最后方法

6、,只有在單表數(shù)據(jù)規(guī)模非常龐大的時候才使用,更常用的數(shù)據(jù)庫拆分手段是業(yè)務分庫,將不同的業(yè)務數(shù)據(jù)庫部署在不同的物理服務器上。 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-使用使用NoSQL和搜索引擎和搜索引擎發(fā)展歷史及背景發(fā)展歷史及背景 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-業(yè)務拆分(橫向拆分)業(yè)務拆分(橫向拆分)發(fā)展歷史及背景發(fā)展歷史及背景 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-分布式服務(橫向拆分)分布式服務(橫向拆分)發(fā)展歷史及背景發(fā)展歷史及背景公共的應用模塊被提取出來,部署在分布式服務器上供應用服務器調用。 系統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-面向服務的架構面向服務的架構SOA發(fā)展歷史及背景發(fā)展歷史及背景 系

7、統(tǒng)架構演化歷程系統(tǒng)架構演化歷程-面向服務的架構面向服務的架構SOA發(fā)展歷史及背景發(fā)展歷史及背景 為什么需要為什么需要SOA?發(fā)展歷史及背景發(fā)展歷史及背景本質上是兩種力量驅動的結果:需求拉動需求拉動、技術推動技術推動。業(yè)務需求的拉動,希望解決業(yè)務應用的問題;技術發(fā)展的推動,使得SOA具備了技術上的可行性。需求拉動方面,主要來自于兩種信息化的困境。一個是“信息孤島”造成基于系統(tǒng)之間互聯(lián)互通的整合需求;另一個是業(yè)務的變化所導致對IT靈活性,以適應變化的需求。 為什么需要為什么需要SOA?發(fā)展歷史及背景發(fā)展歷史及背景 為什么需要為什么需要SOA? 復用復用發(fā)展歷史及背景發(fā)展歷史及背景 軟件應用領域越來

8、越多,相同領域的應用系統(tǒng)之間許多基礎功能和結構是有相似性的,每次開發(fā)系統(tǒng)都從零開始絕對不是一種好的方法,也是對質量和效率的很大的傷害。 盡可能多地凝練共性并復用以提高軟件開發(fā)效率和質量,通過中間件通過提供簡單、一致、集成的開發(fā)和運行環(huán)境,簡化分布式系統(tǒng)的設計、編程和管理,這也是SOA發(fā)展的重要推動力。 軟件技術發(fā)展內容,包括更好的程序設計語言、更好的平臺和軟件開發(fā)技術,如面向對象、組件開發(fā)、面向服務等等。而這方面,在技術上逐漸發(fā)展的成果大部分都凝聚在今天的SOA解決方案之中。 為什么需要為什么需要SOA?發(fā)展歷史及背景發(fā)展歷史及背景 如何準確理解如何準確理解SOA?基本概念基本概念 OASIS

9、(一個SOA標準組織)給予出的SOA定義“SOA是一個范式,用于組織和利用可能處于不同所有權范圍控制下的分布式系統(tǒng)?!?維基百科給出的SOA定義“面向服務的體系結構(Service-oriented architecture)是構造分布式系統(tǒng)的應用程序的方法。它將應用程序功能作為服務發(fā)送給最終用戶或者其他服務。它采用開放標準、與軟件資源進行交互并采用表示的標準方式”。 SOA是包含運行環(huán)境、編程模型、架構風格和相關方法論等在內的一整套新的分布式軟件系統(tǒng)構造方法和環(huán)境,涵蓋服務的整個生命周期:建模-開發(fā)-整合-部署-運行-管理。 如何準確理解如何準確理解SOA?基本概念基本概念 其他與其他與SO

10、A相關的概念相關的概念-ESB基本概念基本概念 ESB(企業(yè)服務總線 Enterprise Service Bus)是一種在松散耦合的服務和應用之間標準的集成方式。ESB采用了“總線”這樣一種模式來管理和簡化應用之間的集成拓撲結構,以廣為接受的開放標準為基礎來支持應用之間在消息、事件和服務級別上動態(tài)的互連互通。 ESB提供了事件驅動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內容的路由和過濾,具備了復雜數(shù)據(jù)的傳輸能力,并可以提供一系列的標準接口。同時可以消除不同應用之間的技術差異,讓不同的應用服務器協(xié)調運作,實現(xiàn)了不同服務之間的通信與整合。它可以作用于:面向服務的架構分布式的應用

11、由可重用的服務組成;面向消息的架構應用之間通過ESB發(fā)送和接受消息;事件驅動的架構應用之間異步地產(chǎn)生和接收消息。ESB-企業(yè)服務總線,像一根企業(yè)服務總線,像一根“聰明聰明”的管道,用的管道,用來連接各個來連接各個“愚笨愚笨”的節(jié)點。為了集成不同系統(tǒng),的節(jié)點。為了集成不同系統(tǒng),不同協(xié)議的服務,不同協(xié)議的服務,ESB做了消息的轉換解釋與路由做了消息的轉換解釋與路由等工作,讓不同的服務互聯(lián)互通。等工作,讓不同的服務互聯(lián)互通。 其他與其他與SOA相關的概念相關的概念-JBI&SCA&SDO基本概念基本概念 SOA在Java領域有兩套標準:一個是SUN推出的JBI(沒有得到BEA和IBM

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

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

14、。 (2)單一實例。避免功能冗余。 (3)明確定義的接口。wsdl標準 (4)自包含和模塊化。獨立進行部署、版本控制、自我管理等。 (5)粗粒度。服務數(shù)量不應太大。 (6)松耦合。 (7)重用性。 (8)互操作性。 基本架構基本架構核心思想核心思想 基本架構基本架構核心思想核心思想 WebService簡單實現(xiàn)簡單實現(xiàn) Web Services,從字面上理解就是通過Web提供的服務。我們可以理解Web Services是自包含的、模塊化的應用程序,它可以在網(wǎng)絡(通常為Web)中被描述、發(fā)布、查找以及調用; 也可以理解Web Services是基于網(wǎng)絡的、分布式的模塊化組件,它執(zhí)行特定的任務,遵守具體的技術規(guī)范,這些規(guī)范使得Web Sevices能與其他兼容的組件進行互操作; 也可以這樣理解,所謂Web服務,它是指由企業(yè)發(fā)布的完成其特別商務需求的在線應用服務,其他公司或應用軟件能夠通過Internet來訪問并使用這項應用服務Web 。service 簡單來說就是一個向外界暴露出的能夠通過internet進行調用的api和應用程序, 是基于SOA松耦合等思想開發(fā)出來的一套技術,但是它并一定完全符合SOA的架構。 WebService簡單實現(xiàn)簡單實現(xiàn)SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(Universal

溫馨提示

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

評論

0/150

提交評論