




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二部分:核心基礎(chǔ)架構(gòu)第2章:分布式計算的基礎(chǔ)架構(gòu)山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步方式中間件的異步方式面向消息的中間件山東大學(xué)計算機(jī)學(xué)院分布式系統(tǒng)分布式系統(tǒng)是網(wǎng)絡(luò)化的計算機(jī)集合,這些計算機(jī)之間能夠互相通信并能通過傳遞消息來協(xié)調(diào)它們的運(yùn)行對比:聯(lián)網(wǎng)在一起的多臺計算機(jī)分布式系統(tǒng)包含大量的運(yùn)行單元(或稱計算單元)自治:任何時候?qū)λ鼈冏约憾际峭耆刂频臎]有集中控制主機(jī):駐留了分布式系統(tǒng)的一些單元異構(gòu)并發(fā)執(zhí)行山東大學(xué)計算機(jī)學(xué)院分布式系統(tǒng)的特征多個進(jìn)程不僅在一個處理器上執(zhí)行,而且能夠在多個處理器上執(zhí)行進(jìn)程間的通信機(jī)制可能會有許
2、多不同類型的故障網(wǎng)絡(luò)故障 互連在一起的計算機(jī)無法進(jìn)行相互間的通信計算機(jī)故障、應(yīng)用程序崩潰 其他的單元無法立即通過通信檢測到分布式計算在多個方面都取得了很大的進(jìn)展進(jìn)程間通信、遠(yuǎn)程調(diào)用技術(shù)、分布式命名、安全機(jī)制、分布式文件系統(tǒng)、數(shù)據(jù)復(fù)制、分布式事務(wù)機(jī)制山東大學(xué)計算機(jī)學(xué)院互聯(lián)網(wǎng)協(xié)議對于跨互聯(lián)網(wǎng)的數(shù)據(jù)傳輸,互聯(lián)網(wǎng)協(xié)議至關(guān)重要互聯(lián)網(wǎng)協(xié)議定義了兩個或多個通信實(shí)體之間進(jìn)行信息交換的格式和順序,以及定義了消息或事件的傳輸不/或接受的行為傳輸控制協(xié)議(TCP)和互聯(lián)網(wǎng)協(xié)議(IP)IP協(xié)議:不同主機(jī)之間的報文的不可靠傳送TCP協(xié)議:增加了連接和可靠性互聯(lián)網(wǎng)協(xié)議地址(IP地址)IPv4;IPv6山東大學(xué)計算機(jī)學(xué)院開
3、放系統(tǒng)互聯(lián)模型(OSI)山東大學(xué)計算機(jī)學(xué)院OSI七層模型物理層:物理鏈路所需的電氣需求、機(jī)械需求、過程需求及功能需求數(shù)據(jù)鏈路層:網(wǎng)絡(luò)實(shí)體之間傳送數(shù)據(jù)、檢測甚至修復(fù)物理層錯誤網(wǎng)絡(luò)層:網(wǎng)絡(luò)路由、流量控制、組包和拆包、差錯控制傳輸層:提供終端用戶之間的透明的數(shù)據(jù)傳輸會話層:負(fù)責(zé)建立、管理、終止表示層實(shí)體之間的會話表示層:數(shù)據(jù)壓縮不恢復(fù)、數(shù)據(jù)加密不解密應(yīng)用層:提供訪問OSI網(wǎng)絡(luò)的接口,并完成應(yīng)用程序所需的公共應(yīng)用服務(wù)山東大學(xué)計算機(jī)學(xué)院TCP/IP協(xié)議山東大學(xué)計算機(jī)學(xué)院TCP/IP協(xié)議數(shù)據(jù)鏈路層:到實(shí)際的網(wǎng)絡(luò)硬件的接口互連網(wǎng)絡(luò)層:數(shù)據(jù)報的路由IP協(xié)議:提供了路由功能,可將所傳送的消息發(fā)送到它們的目的地?zé)o
4、連接的協(xié)議,并提供可靠性、流量控制、錯誤校驗等功能傳輸層:提供端到端的數(shù)據(jù)傳輸、并可以同時支持多個應(yīng)用程序TCP協(xié)議:提供了面向連接的可靠的數(shù)據(jù)傳送、重復(fù)數(shù)據(jù)抑制、擁塞控制及流量控制應(yīng)用層:支持網(wǎng)絡(luò)應(yīng)用山東大學(xué)計算機(jī)學(xué)院常用端口及與這些端口相對應(yīng)的應(yīng)用應(yīng) 用端 口文件傳輸協(xié)議(FTP)21遠(yuǎn)程登錄(Telnet)23簡單郵件傳輸協(xié)議(SMTP)25超文本傳輸協(xié)議(HTTP)80網(wǎng)絡(luò)新聞傳輸協(xié)議119山東大學(xué)計算機(jī)學(xué)院中間件中間件是一種連接軟件,在不同系統(tǒng)間建立橋接,以便在這些系統(tǒng)之間能夠相互通信和傳輸數(shù)據(jù),從而有助于管理分布式系統(tǒng)所固有的復(fù)雜性和異構(gòu)性可視為一個軟件服務(wù)層無論底層所采用的通信協(xié)
5、議、系統(tǒng)體系結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫及其他的應(yīng)用服務(wù)是否相同,應(yīng)用單元都可以跨網(wǎng)絡(luò)進(jìn)行互操作提供了一個簡單的、一致的、集成的分布式編程環(huán)境實(shí)質(zhì)上是一個分布式軟件層山東大學(xué)計算機(jī)學(xué)院中間件的層次中間件層位于應(yīng)用程序與互聯(lián)網(wǎng)傳輸協(xié)議之間中間件抽象包含兩層底層涉及分布式系統(tǒng)中的進(jìn)程間的通信協(xié)議上層主要關(guān)于進(jìn)程間通信的機(jī)制 應(yīng)用和服務(wù) 不基于消息的方式 | 基于消息的方式 進(jìn)程間通信和串行化的基礎(chǔ)架構(gòu) 互聯(lián)網(wǎng)傳輸層協(xié)議中間件層山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步方式中間件的異步方式請求/應(yīng)答的消息傳送方式面向消息的中間件面向事務(wù)
6、的中間件企業(yè)應(yīng)用與電子商務(wù)的集成小結(jié)山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步方式中間件的異步方式面向消息的中間件山東大學(xué)計算機(jī)學(xué)院客戶 服務(wù)器模型數(shù)據(jù)控制的集中化 vs. 數(shù)據(jù)訪問的分布性客戶/服務(wù)器模式成為一個最通用的解決方案之一客戶端進(jìn)程:請求服務(wù)器進(jìn)程(服務(wù)提供者)的服務(wù)服務(wù)器也可以是其他服務(wù)器的客戶端客戶/服務(wù)器計算不強(qiáng)調(diào)硬件差別,而是強(qiáng)調(diào)它們實(shí)際應(yīng)用的差異對于互聯(lián)網(wǎng)應(yīng)用來說,客戶/服務(wù)器模型是最盛行的結(jié)構(gòu)萬維網(wǎng)、電子郵件、文件傳送、遠(yuǎn)程登錄、新聞組瘦客戶端、胖客戶端山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分
7、布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步方式中間件的異步方式面向消息的中間件山東大學(xué)計算機(jī)學(xué)院進(jìn)程間通信的特性通過跨計算機(jī)網(wǎng)絡(luò)交換消息,在兩個不同的終端系統(tǒng)(很有可能采用了不同的操作系統(tǒng))上的進(jìn)程相互之間可以通信山東大學(xué)計算機(jī)學(xué)院消息發(fā)送消息發(fā)送時一種能夠可靠發(fā)送的通信技術(shù),可支持高速、異步、程序到程序間的通信程序間通過發(fā)送數(shù)據(jù)包進(jìn)行相互間的通信,所發(fā)送的數(shù)據(jù)包稱做消息消息是一個定義明確的、數(shù)據(jù)驅(qū)動的文本格式消息能夠在兩個或多個應(yīng)用程序之間發(fā)送,所發(fā)送的消息可包含業(yè)務(wù)信息和網(wǎng)絡(luò)路由標(biāo)頭消息通常包含3個部分:頭部、屬性和有效載荷(消息體)頭部:消息目的地、消息類型、消息的
8、失效時間屬性:應(yīng)用程序定義的多個名/值對山東大學(xué)計算機(jī)學(xué)院消息通信操作Send一個進(jìn)程將消息發(fā)送到目的地Receive一個進(jìn)程在目的地接收消息在相互交互的進(jìn)程間所交換的消息由字節(jié)序列組成數(shù)據(jù)結(jié)構(gòu)必須是扁平的(能夠轉(zhuǎn)換為字節(jié)序列)需要采用一種特定的數(shù)據(jù)編組技術(shù)Java和XML中,串行化(serialization)應(yīng)用層協(xié)議定義了進(jìn)程間交換消息的格式和順序,并定義了消息發(fā)送或消息接收所需進(jìn)行的操作山東大學(xué)計算機(jī)學(xué)院消息目的地和socket進(jìn)程間通信時,進(jìn)程可能會使用多個端口接收消息消息能夠發(fā)送到某一具體的(IP地址,本地端口號)缺陷:為了保持地址有效,服務(wù)必須一直在同一臺計算機(jī)上運(yùn)行客戶端通過名
9、字來引用服務(wù)使用操作系統(tǒng)提供的位置獨(dú)立型標(biāo)識符進(jìn)程通過套接字(socket)在網(wǎng)絡(luò)上發(fā)送、接收消息Socket必須綁定到一個本地端口,并且必須指明進(jìn)程所在的計算 機(jī)的IP地址山東大學(xué)計算機(jī)學(xué)院同步方式和異步方式的消息發(fā)送通信有兩類不同的基本方式具有依時性的同步方式在兩個通信應(yīng)用系統(tǒng)之間必須要進(jìn)行同步,兩個系統(tǒng)必須都在正常運(yùn)行,并且會中斷客戶端的執(zhí)行流,轉(zhuǎn)而執(zhí)行調(diào)用與時間無關(guān)的異步方式調(diào)用者在發(fā)送消息以后可以不再等待響應(yīng),可以接著處理其他任務(wù)通常使用排隊機(jī)制來實(shí)現(xiàn)存儲/轉(zhuǎn)發(fā)、發(fā)布/訂閱山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步
10、方式中間件的異步方式面向消息的中間件山東大學(xué)計算機(jī)學(xué)院中間件的同步方式對與基于消息方式的中間件,最常見的方式是:遠(yuǎn)程過程調(diào)用(RPC)遠(yuǎn)程方法調(diào)用(RMI)山東大學(xué)計算機(jī)學(xué)院遠(yuǎn)程過程調(diào)用RPC是一種中間件機(jī)制,用于調(diào)用遠(yuǎn)程系統(tǒng)中的過程,遠(yuǎn)程系統(tǒng)中的過程返回相應(yīng)的結(jié)果應(yīng)用單元相互之間進(jìn)行同步通信,使用請求/等待響應(yīng)模型RPC的編程風(fēng)格故意模擬了串行化線程的執(zhí)行RPC是實(shí)現(xiàn)客戶/服務(wù)器應(yīng)用的一種最簡單的方式山東大學(xué)計算機(jī)學(xué)院RPC通信客戶樁:支持RPC的代理程序,模擬了遠(yuǎn)程對象和方法的接口客戶樁使用RPC運(yùn)行時庫與服務(wù)器樁進(jìn)行通信山東大學(xué)計算機(jī)學(xué)院RPC應(yīng)用RPC適用于小型的簡單應(yīng)用 通信主要是點(diǎn)
11、對點(diǎn)方式,而不是一個系統(tǒng)對多個系統(tǒng)的方式RPC將許多重要的細(xì)節(jié)都交由編程人員處理RPC所導(dǎo)致的緊耦合的接口和應(yīng)用 RPC的同步特性,將客戶端和服務(wù)器端緊耦合在一起使用RPC進(jìn)行通信的主要技術(shù) CORBA、RMI、DCOM、Active X、Sun-RPC、JAX-RPC、SOAP對于構(gòu)建需要高性能、高可靠性的企業(yè)級應(yīng)用來說,RPC不是一個好選擇山東大學(xué)計算機(jī)學(xué)院遠(yuǎn)程方法調(diào)用對于Java對象的分布式計算,Java遠(yuǎn)程方法調(diào)用基于RPC機(jī)制提供了一個簡單、直接的模型RMI調(diào)用由兩個不同的程序組成:服務(wù)器端和客戶遠(yuǎn)程方法調(diào)用可以使用兩種不同的類遠(yuǎn)程類:遠(yuǎn)程對象是遠(yuǎn)程類的實(shí)例串行化類:串行化對象是串行
12、化類的實(shí)例可以將串行化對象從一個地址空間拷貝到另一個地址空間山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步方式中間件的異步方式面向消息的中間件山東大學(xué)計算機(jī)學(xué)院異步接口的松耦合方式應(yīng)用無須了解與其進(jìn)行交互的其他應(yīng)用的錯綜復(fù)雜的服務(wù)接口異步通信對于松耦合技術(shù)的應(yīng)用是一個推動 存儲/轉(zhuǎn)發(fā)方法 發(fā)布/訂閱方法:應(yīng)用了事件通知的原理山東大學(xué)計算機(jī)學(xué)院消息的存儲與轉(zhuǎn)發(fā)通過存儲與轉(zhuǎn)發(fā)排隊機(jī)制,發(fā)送程序可將消息發(fā)送到一個稱為消息隊列的虛擬信道中,接收程序可根據(jù)需要從消息隊列中接收消息消息隊列既是發(fā)送者發(fā)送消息的目的地,也是接受者接收消息的消息
13、源,發(fā)送者和接收者通過隊列交換消息消息隊列是一個駐留消息的容器,直到接收者從隊列中接收到消息消息隊列獨(dú)立于發(fā)送程序和接收程序,在進(jìn)行通信的應(yīng)用之間充當(dāng)緩沖區(qū) 應(yīng)用#1 PUT消息 () 隊列 () 應(yīng)用#2 GET消息 任何一個應(yīng)用都不了解隊列的物理位置,也不了解任一主機(jī)平臺的物理細(xì)節(jié)山東大學(xué)計算機(jī)學(xué)院消息傳送準(zhǔn)確的一次性傳送確保能夠?qū)⑾⒖煽康貍魉偷阶罱K目的地,并且沒有重復(fù)發(fā)送至少一次傳送保證能夠?qū)⑾⒅辽僖淮伟l(fā)送到它們的目的地至多一次傳送保證能夠?qū)⑾⒅炼嘁淮蝹魉偷剿鼈兊哪康牡匾馕吨魉拖到y(tǒng)可以因為硬件、軟件、網(wǎng)絡(luò)故障等問題偶爾丟失一些消息,因此對于QoS的要求比較低山東大學(xué)計算機(jī)學(xué)院
14、消息的發(fā)布與訂閱與存儲與轉(zhuǎn)發(fā)方式相比,消息的發(fā)布/訂閱方式的可伸縮性稍大一點(diǎn)發(fā)布/訂閱消息傳送的流程 假設(shè)發(fā)布者應(yīng)用發(fā)布了一個具體主題的消息,諸如向零售商發(fā)送新產(chǎn)品的價格或新產(chǎn)品的描述。多個訂閱應(yīng)用都可以訂閱該主題,并接收發(fā)布應(yīng)用所發(fā)布的消息發(fā)布者將消息發(fā)布到特定主題消息服務(wù)器記錄所有的消息,當(dāng)前處于活動狀態(tài)的長期訂閱者一旦將消息發(fā)布到某一個具體的主題,這些消息就將分發(fā)到它們的訂閱者山東大學(xué)計算機(jī)學(xué)院存儲與轉(zhuǎn)發(fā)排隊機(jī)制是多對一消息傳送多個應(yīng)用可向同一個應(yīng)用發(fā)送消息一個應(yīng)用既可以是發(fā)送者,又可以是接收者,或同時是兩者消息排隊提供了更高的可靠性多個消息服務(wù)器通過網(wǎng)絡(luò)鏈接在一起 要求能夠跨多個消息服
15、務(wù)器重復(fù)進(jìn)行存儲與轉(zhuǎn)發(fā)消息確認(rèn)使得消息傳遞系統(tǒng)能夠監(jiān)控消息傳送的情況,從而能夠知道何時成功完成消息的發(fā)送山東大學(xué)計算機(jī)學(xué)院消息服務(wù)器、訂閱者消息服務(wù)器負(fù)責(zé)向訂閱了主題的訂閱應(yīng)用發(fā)送被發(fā)布的消息 有效期處于活動狀態(tài)的訂閱者訂閱了但不處于活動狀態(tài)的訂閱者,且在有效期內(nèi)連接到消息服務(wù)器所有訂閱者都有一個消息事件偵聽程序使用過濾表達(dá)式對消息的標(biāo)題和屬性進(jìn)行評判 實(shí)時修改訂閱列表消息的發(fā)布者不期望回復(fù),只要確認(rèn)合作伙伴已經(jīng)收到信息即可山東大學(xué)計算機(jī)學(xué)院第2章:分布式計算的基礎(chǔ)架構(gòu)分布式計算與互聯(lián)網(wǎng)協(xié)議客戶-服務(wù)器模型進(jìn)程間通信的特性中間件的同步方式中間件的異步方式面向消息的中間件山東大學(xué)計算機(jī)學(xué)院面向消息的中間件面向消息的中間件(MOM)是一個基礎(chǔ)架構(gòu),它使用普通的通信信道在應(yīng)用之間傳送數(shù)據(jù)消息的發(fā)送者不接收者M(jìn)OM位于客戶端和服務(wù)器之間,并處理客戶端和服務(wù)器之間的異步調(diào)用山東大學(xué)計算機(jī)學(xué)院MOM的作用不僅僅是傳遞信息數(shù)據(jù)轉(zhuǎn)換、安全性、將數(shù)據(jù)傳送給多個程序、故障恢復(fù)、查找網(wǎng)絡(luò)資源成本路由、確定消息和請求的優(yōu)先級、調(diào)試MOM消息傳送系統(tǒng)幫助將長時間運(yùn)行的任務(wù)劃分為多個事務(wù)與RPC和ORB(對象請求代理)產(chǎn)品相反,MOM不要求存在一個可靠的傳輸層當(dāng)傳輸層并不可靠
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙開店鋪合同協(xié)議書
- 2025年燒結(jié)釤鈷永磁材料合作協(xié)議書
- 護(hù)理超聲培訓(xùn)課程
- 國際會議同傳翻譯設(shè)備租賃與翻譯培訓(xùn)全面服務(wù)合同
- 靜脈輸血病人護(hù)理
- 網(wǎng)店過戶交易安全保障與后續(xù)運(yùn)營支持合同
- 區(qū)塊鏈智能合約代碼智能合約安全審計與合規(guī)審查補(bǔ)充協(xié)議
- 離婚協(xié)議財產(chǎn)債務(wù)分割及免除條款合同
- 游戲公會會員招募與培訓(xùn)服務(wù)協(xié)議
- 網(wǎng)絡(luò)內(nèi)容審核系統(tǒng)軟件租賃與功能優(yōu)化升級服務(wù)協(xié)議
- 《三只松鼠公司基于近三年數(shù)據(jù)的財務(wù)探析(4200字論文)》
- 《可復(fù)制的領(lǐng)導(dǎo)力》讀書分享
- GB/T 25085.2-2024道路車輛汽車電纜第2部分:試驗方法
- 【水利水電】李想 案例專項班教案 03-案例專項班(三)
- 水利工程項目預(yù)算管理方案
- 銀行大額存單業(yè)務(wù)培訓(xùn)
- DB37-T 4733-2024預(yù)制艙式儲能電站設(shè)計規(guī)范
- wps計算機(jī)二級試題及答案
- 鋼板樁安全技術(shù)交底
- 師德師風(fēng)-做“四有”好老師
- 衣食住行見證改革開放時代變遷-(修訂)
評論
0/150
提交評論