<strike id="uc6q2"><menu id="uc6q2"></menu></strike>
  • <strike id="uc6q2"></strike>
  • <strike id="uc6q2"></strike>
  • 消息通信

    2012年01月13日    點擊數(shù): 19641    字體:           一鍵關(guān)注匯訊

    1.1消息中間件
        中間件(middleware)是基礎(chǔ)軟件的一大類,屬于可復(fù)用的軟件范疇。中間件在操作系統(tǒng)軟件,網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)用軟件之下,總的作用是為處于自己上層的應(yīng)用軟件提供運行于開發(fā)的環(huán)境,幫助用戶靈活、高效的開發(fā)和集成復(fù)雜的應(yīng)用軟件。中間件是位于平臺(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們可以有符合接口和協(xié)議規(guī)范的多種實現(xiàn)。也許很難給中間件一個嚴(yán)格的定義,但中間件應(yīng)具有如下的一些特點:
     滿足大量應(yīng)用的需要Ø
     運行于多種硬件和OSØ平臺
     支持分布計算,提供跨網(wǎng)絡(luò)、硬件和OS 平臺的透明性的應(yīng)用或服務(wù)的交互支持標(biāo)準(zhǔn)的協(xié)議Ø
     支持標(biāo)準(zhǔn)的接口Ø
    IDC 對中間件的定義為:中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件定位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計算機(jī)資源和網(wǎng)絡(luò)通信。因而中間件是指一類軟件,是基于分布式處理的軟件,最突出的特點是其網(wǎng)絡(luò)通信功能。也可認(rèn)為中間件是位于平臺和應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,可以有符合接口和協(xié)議的多種實現(xiàn)。
    面向消息的中間件:
    MOM 指的是利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。通過提供消息傳遞和消息排隊模型,它可在分布環(huán)境下擴(kuò)展進(jìn)程間的通信,并支持多通訊協(xié)議、語言、應(yīng)用程序、硬件和軟件平臺。目前流行的MOM 中間件產(chǎn)品有IBM 的MQSeries、BEA 的MessageQ 等。

    主要特點:
        通訊程序可在不同的時間運行程序不在網(wǎng)絡(luò)上直接相互通話,而是間接地將消息放入消息隊列,因為程序間沒有直接的聯(lián)系。所以它們不必同時運行。消息放入適當(dāng)?shù)年犃袝r,目標(biāo)程序甚至根本不需要正在運行;即使目標(biāo)程序在運行,也不意味著要立即處理該消息。對應(yīng)用程序的結(jié)構(gòu)沒有約束在復(fù)雜的應(yīng)用場合中,通訊程序之間不僅可以是一對一的關(guān)系,還可以進(jìn)行一對多和多對一方式,甚至是上述多種方式的組合。多種通訊方式的構(gòu)造并沒有增加應(yīng)用程序的復(fù)雜性。程序?qū)⑾⒎湃胂㈥犃谢驈南㈥犃兄腥〕鱿磉M(jìn)行通訊,與此關(guān)聯(lián)的全部活動,比如維護(hù)消息隊列、維護(hù)程序和隊列之間的關(guān)系、處理網(wǎng)絡(luò)的重新啟動和在網(wǎng)絡(luò)中移動消息等是MOM 的任務(wù),程序不直接與其它程序通話,并且它們不涉及網(wǎng)絡(luò)通訊的復(fù)雜性

    1.2 消息中間件的傳遞模型
    消息中間件一般有兩種傳遞模型:點對點模型(PTP)和發(fā)布-訂閱模型(Pub/Sub)。

    1.2.1 點對點模型(PTP
        點對點模型用于消息生產(chǎn)者和消息消費者之間點到點的通信。消息生產(chǎn)者將消息發(fā)動到由某個名字標(biāo)識的特定消費者。這個名字實際上對應(yīng)于消息服務(wù)中的一個隊列(Queue),在消息傳動給消費者之前它被存儲在這個隊列中。隊列可以是持久的,以保證在消息服務(wù)出現(xiàn)故障時仍然能夠傳遞消息。

    1.2.2 發(fā)布-訂閱模型(Pub/Sub
        發(fā)布-訂閱模型用稱為主題(topic)的內(nèi)容分層結(jié)構(gòu)代替了PTP 模型中的惟一目的地,發(fā)送應(yīng)用程序發(fā)布自己的消息,指出消息描述的是有關(guān)分層結(jié)構(gòu)中的一個主題的信息。希望接收這些消息的應(yīng)用程序訂閱了這個主題。訂閱包含子主題的分層結(jié)構(gòu)中的主題的訂閱者可以接收該主題和其子主題發(fā)表的所有消息。

    1.3 海量用戶支撐
    系統(tǒng)軟集群
        為了使得多臺系統(tǒng)能表現(xiàn)的如同一臺服務(wù)器系統(tǒng)一樣,那么就必須具備一個基本條件,就是這么多臺服務(wù)器系統(tǒng),每臺單獨運行,都能提供完全一致的服務(wù),否則,不同的服務(wù)器提供不一致的服務(wù),又如何對外表現(xiàn)出完全一致的表現(xiàn)呢?這里,最簡單的例子是Web服務(wù)器,我們可以設(shè)置Web服務(wù)器,使多個Web服務(wù)器中保存的網(wǎng)頁文件內(nèi)容完全一致,這樣,無論訪問哪個服務(wù)器,只要使用同樣的URL就能得到同樣的結(jié)果。
        因此,在這個階段要保證內(nèi)容的一致性,就需要使用諸如服務(wù)器之間的同步鏡像、網(wǎng)絡(luò)存儲系統(tǒng)NAS或SAN,數(shù)據(jù)庫的同步復(fù)制等等技術(shù)。

    1.3.1 實現(xiàn):任務(wù)調(diào)度
        當(dāng)所有的服務(wù)器都具備一致性的表現(xiàn),接下來的任務(wù)就是將任務(wù)按照一定的方式分配給這
    些服務(wù)器,這就是任務(wù)調(diào)度。
        實現(xiàn)任務(wù)調(diào)度首先需要要將任務(wù)盡可能的按照小粒度分割,每個粒度應(yīng)該是能夠在不同服務(wù)器部分上單獨執(zhí)行的最小單位。粒度劃分的越小,任務(wù)分割得越平均,因而整體效果就越好。但粒度的劃分是有一定條件的,粒度越小,粒度之間的關(guān)聯(lián)就越緊密,例如在SMP多處理器的計算機(jī)系統(tǒng)中,任意一個線程都可以在任一個處理器上執(zhí)行,因此執(zhí)行粒度可以劃分為線程,但是線程之間是共享內(nèi)存的,這已經(jīng)在理論上提出,并在并行計算機(jī)上實現(xiàn),但在不同服務(wù)器之間目前還是不現(xiàn)實的。
        由于大多數(shù)網(wǎng)絡(luò)服務(wù)都是基于TCP網(wǎng)絡(luò)連接的,因此最簡單的考慮,可以按照TCP連接劃分任務(wù)粒度,這適合包括Web服務(wù),數(shù)據(jù)庫連接等絕大多數(shù)情況。實現(xiàn)任務(wù)調(diào)度的方式有很多種,一種方法是在系統(tǒng)內(nèi)部完成,所有的服務(wù)器能夠自我協(xié)調(diào),完成任務(wù)調(diào)度,這種方法要涉及所有的服務(wù)器,依賴于具體的應(yīng)用系統(tǒng),因而更為復(fù)雜。另一種方法是不在服務(wù)器之間實現(xiàn)調(diào)度,而依賴于外部的任務(wù)調(diào)度設(shè)備執(zhí)行調(diào)度。
        無論那種任務(wù)調(diào)度方式,最大的問題就是害怕任務(wù)調(diào)度本身帶來的額外消耗或性能瓶頸,因此使用硬件設(shè)備和單一的高效率系統(tǒng),作為外部任務(wù)調(diào)度設(shè)備,成為了集群的首選方案。

    1.3.2 外部任務(wù)調(diào)度:負(fù)載平衡和虛擬服務(wù)器
         使用外部任務(wù)調(diào)度設(shè)備對任務(wù)按照網(wǎng)絡(luò)連接進(jìn)行分配,這種情況通常被稱為網(wǎng)絡(luò)服務(wù)器的負(fù)載平衡。外部的任務(wù)調(diào)度設(shè)備有很多種,例如基于BSD/OS的F5,CISCO的LocalDirector,以及一些七層交換機(jī),例如Foundry的交換機(jī)等等。目前,除了一些基于硬件交換機(jī)設(shè)備之外,完全軟件的實現(xiàn)中最為流行的就是LVS,Linux Virtual Server,作為一個開放源代碼的項目,他得到了Linux社區(qū)的大力支持,并用于大部分Linux集群設(shè)備中。LVS是由國防科技大學(xué)的章文松提出的一個開放源代碼項目,事實上這也是國內(nèi)Linux開發(fā)工作中最被國際認(rèn)可的一個工作,這也標(biāo)志著國內(nèi)在這個方向上的研究并不次于國際同行。
        LVS中最為優(yōu)秀的特點是實現(xiàn)了策略路由的觀念,它允許一個TCP連接由任務(wù)分配設(shè)備分配給后端服務(wù)器中之后,后端服務(wù)器使用不同的路由,不再經(jīng)過任務(wù)分配器,而是直接返回給客戶,這種方式需要后端服務(wù)器也是Linux設(shè)備,因此不是簡單的任務(wù)調(diào)度。

    1.3.3 服務(wù)器負(fù)擔(dān):容錯與監(jiān)
         任務(wù)調(diào)度的關(guān)鍵是將所有的任務(wù)平均的分配給所有的服務(wù)器,如果不能做到合理的分配,就能出現(xiàn)部分服務(wù)器上的擁塞現(xiàn)象,此時還可能有后臺服務(wù)器類型差異造成的處理能力的不一致等情況。
        為了達(dá)到這個任務(wù)分配的目的,必須使用一種方法來獲得服務(wù)器狀態(tài),這里就有不同的幾種方法。最簡單的方法是按照當(dāng)前服務(wù)器的任務(wù)數(shù)量來衡量服務(wù)器負(fù)荷,通常就是按照網(wǎng)絡(luò)連接的數(shù)量來衡量,這種方法應(yīng)該是比較模糊的,因此不同的連接對服務(wù)器造成的壓力是不同的,例如一個靜態(tài)網(wǎng)頁的處理和一個后臺CGI程序的處理,服務(wù)器負(fù)擔(dān)就絕對不同。
         一些負(fù)載均衡設(shè)備通過測量設(shè)備對網(wǎng)絡(luò)連接響應(yīng)時間來判斷服務(wù)器的負(fù)荷,這基本上能夠反映一些情況,但也并非絕對如此,因為優(yōu)秀的服務(wù)器對于基本的網(wǎng)絡(luò)響應(yīng)是迅速的,但對于后面的處理過程則受系統(tǒng)負(fù)荷的影響。因此,一些系統(tǒng)甚至引入了客戶/服務(wù)器機(jī)制,在后臺服務(wù)器中安裝代理來完成探測系統(tǒng)性能的任務(wù)。
        當(dāng)任務(wù)調(diào)度設(shè)備能夠精確的了解服務(wù)器負(fù)荷的時候,它顯然就能夠達(dá)到了解后臺服務(wù)器的可用性,就是說任務(wù)調(diào)度設(shè)備能夠檢測出某些后臺服務(wù)器不能正確運行,從而避開這個服務(wù)器,將任務(wù)分配給其他設(shè)備,達(dá)到容錯的目的。

    1.3.4 共享數(shù)據(jù):會話管理
         還是以Web訪問為例,對于普通的網(wǎng)頁,不同的HTTP連接就可以認(rèn)為是不同的任務(wù)。但是,對于更復(fù)雜的應(yīng)用,例如需要用戶登錄,并根據(jù)不同用戶提供不同服務(wù)的情況呢?此時,如果仍然還是要把不同的HTTP連接看作不同的任務(wù),那么這些連接之間實際上還是有一定關(guān)系的,事實上每個用戶從登錄到退出,可以被看作一個完整的HTTP會話。
        由于這些會話必須保存的數(shù)據(jù)比較少,例如僅僅是用戶名和簡單的一些秘密設(shè)置,任務(wù)調(diào)度的時候可以不考慮這些會話,那么就可能發(fā)生這樣的情況,同一個會話的不同HTTP連接可能在不同的后臺服務(wù)器上進(jìn)行處理,因此這就需要進(jìn)行這些服務(wù)器之間的數(shù)據(jù)共享。數(shù)據(jù)共享可以通過多種方式,通過共享的存儲空間,通過獨立的服務(wù)程序,通過數(shù)據(jù)庫,甚至通過共享網(wǎng)絡(luò)間內(nèi)存等等。
        雖然任務(wù)調(diào)度程序可以不理會這種會話,不同服務(wù)器之間可以共享,但如果能夠支持會話功能,使得同一個會話可以被同一個服務(wù)器所處理,這樣會帶來效率上的提高。因此,一些任務(wù)調(diào)度設(shè)備提出了“粘滯”的概念,能夠根據(jù)Cookie或其他標(biāo)記判斷會話,并導(dǎo)向同一個服務(wù)器。

    1.3.5 相關(guān)技術(shù)
         雖然目前用于解決網(wǎng)絡(luò)服務(wù)的集群技術(shù),在技術(shù)層次上比較簡單,事實上只是應(yīng)用了此前并行計算技術(shù)研究的一些簡單方面,但在實用化方面的作用還是很明顯的。但在理論上,目前所使用網(wǎng)絡(luò)服務(wù)器集群技術(shù)還是有很大的挖掘之處,例如,目前的任務(wù)調(diào)度的粒度是基于TCP連接的,如何更細(xì)化。目前,在并行計算領(lǐng)域,人們使用PVM和MPI,允許運行在不同計算機(jī)上的多個進(jìn)程進(jìn)行協(xié)同,在進(jìn)程之內(nèi)可以進(jìn)行任務(wù)調(diào)度,粒度被切割到更細(xì)致的計算單元,如果能將這些概念應(yīng)用于集群系統(tǒng),必然能更好的解決對大負(fù)載任務(wù)的處理任務(wù),縮減處理時間。
        此外,目前一旦任務(wù)調(diào)度設(shè)備將任務(wù)分配給一個服務(wù)器,那么這個任務(wù)就一定在這個服務(wù)器上運行,直到完成。有時,人們需要將一個任務(wù)從一個服務(wù)器透明的遷移到另一個服務(wù)器正常執(zhí)行,目前,在Linux上的Mosix能達(dá)到這個目標(biāo)。事實上,PVM、MPI、Mosix等等技術(shù),都是構(gòu)建用于計算目的的Linux集群計算機(jī)的有效工具。用于處理計算的Linux集群計算機(jī)是由多臺Linux節(jié)點構(gòu)成的超級計算機(jī),主要用來處理計算任務(wù),他們處理的任務(wù)通常要比用于網(wǎng)絡(luò)服務(wù)的集群計算機(jī)更為復(fù)雜,使得節(jié)點之間的I/O非常頻繁,造成了相當(dāng)多的額外負(fù)荷(例如一個進(jìn)程從一個節(jié)點遷移到另一個節(jié)點上的網(wǎng)絡(luò)負(fù)荷)。

    1.4 網(wǎng)絡(luò)適應(yīng)性
        計算機(jī)連接的方式叫做“網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)”(Topology)。網(wǎng)絡(luò)拓?fù)涫侵赣脗鬏斆襟w互連各種設(shè)備的物理布局,特別是計算機(jī)分布的位置以及電纜如何通過它們。設(shè)計一個網(wǎng)絡(luò)的時候,應(yīng)根據(jù)自己的實際情況選擇正確的拓?fù)浞绞健C糠N拓?fù)涠加兴约旱膬?yōu)點和缺點。

    網(wǎng)絡(luò)拓?fù)涞姆诸惾缦拢?/strong>
    1.4.1 星型結(jié)構(gòu)
    星型結(jié)構(gòu)是指各工作站以星型方式連接成網(wǎng)。網(wǎng)絡(luò)有中央節(jié)點,其他節(jié)點(工作站、服務(wù)器)都與中央節(jié)點直接相連,這種結(jié)構(gòu)以中央節(jié)點為中心,因此又稱為集中式網(wǎng)絡(luò)。它具有如下特點:結(jié)構(gòu)簡單,便于管理;控制簡單,便于建網(wǎng);網(wǎng)絡(luò)延遲時間較小,傳輸誤差較低。但缺點也是明顯的:成本高、可靠性較低、資源共享能力也較差。

    1.4.2 環(huán)型結(jié)構(gòu)
    環(huán)型結(jié)構(gòu)由網(wǎng)絡(luò)中若干節(jié)點通過點到點的鏈路首尾相連形成一個閉合的環(huán),這種結(jié)構(gòu)使公共傳輸電纜組成環(huán)型連接,數(shù)據(jù)在環(huán)路中沿著一個方向在各個節(jié)點間傳輸,信息從一個節(jié)點傳到另一個節(jié)點。
    環(huán)型結(jié)構(gòu)具有如下特點:信息流在網(wǎng)中是沿著固定方向流動的,兩個節(jié)點僅有一條道路,故簡化了路徑選擇的控制;環(huán)路上各節(jié)點都是自舉控制,故控制軟件簡單;由于信息源在環(huán)路中是串行地穿過各個節(jié)點,當(dāng)環(huán)中節(jié)點過多時,勢必影響信息傳輸速率,使網(wǎng)絡(luò)的響應(yīng)時間延長;環(huán)路是封閉的,不便于擴(kuò)充;可靠性低,一個節(jié)點故障,將會造成全網(wǎng)癱瘓;維護(hù)難,對分支節(jié)點故障定位較難。

    1.4.3 總線型結(jié)構(gòu)
    總線結(jié)構(gòu)是指各工作站和服務(wù)器均掛在一條總線上,各工作站地位平等,無中心節(jié)點控制,公用總線上的信息多以基帶形式串行傳遞,其傳遞方向總是從發(fā)送信息的節(jié)點開始向兩端擴(kuò)散,如同廣播電臺發(fā)射的信息一樣,因此又稱廣播式計算機(jī)網(wǎng)絡(luò)。各節(jié)點在接受信息時都進(jìn)行地址檢查,看是否與自己的工作站地址相符,相符則接收網(wǎng)上的信息。
    總線型結(jié)構(gòu)的網(wǎng)絡(luò)特點如下:結(jié)構(gòu)簡單,可擴(kuò)充性好。當(dāng)需要增加節(jié)點時,只需要在總線上增加一個分支接口便可與分支節(jié)點相連,當(dāng)總線負(fù)載不允許時還可以擴(kuò)充總線;使用的電纜少,且安裝容易;使用的設(shè)備相對簡單,可靠性高;維護(hù)難,分支節(jié)點故障查找難。

    1.4.4 分布式結(jié)構(gòu)
    分布式結(jié)構(gòu)的網(wǎng)絡(luò)是將分布在不同地點的計算機(jī)通過線路互連起來的一種網(wǎng)絡(luò)形式,分布式結(jié)構(gòu)的網(wǎng)絡(luò)具有如下特點:由于采用分散控制,即使整個網(wǎng)絡(luò)中的某個局部出現(xiàn)故障,也不會影響全網(wǎng)的操作,因而具有很高的可靠性;網(wǎng)中的路徑選擇最短路徑算法,故網(wǎng)上延遲時間少,傳輸速率高,但控制復(fù)雜;各個節(jié)點間均可以直接建立數(shù)據(jù)鏈路,信息流程最短;便于全網(wǎng)范圍內(nèi)的資源共享。缺點為連接線路用電纜長,造價高;網(wǎng)絡(luò)管理軟件復(fù)雜;報文分組交換、路徑選擇、流向控制復(fù)雜;在一般局域網(wǎng)中不采用這種結(jié)構(gòu)。

    1.4.5 樹型結(jié)構(gòu)
    樹型結(jié)構(gòu)是分級的集中控制式網(wǎng)絡(luò),與星型相比,它的通信線路總長度短,成本較低,節(jié)點易于擴(kuò)充,尋找路徑比較方便,但除了葉節(jié)點及其相連的線路外,任一節(jié)點或其相連的線路故障都會使系統(tǒng)受到影響。

    1.4.6網(wǎng)狀拓?fù)浣Y(jié)構(gòu)
    在網(wǎng)狀拓?fù)浣Y(jié)構(gòu)中,網(wǎng)絡(luò)的每臺設(shè)備之間均有點到點的鏈路連接,這種連接不經(jīng)濟(jì),只有每個站點都要頻繁發(fā)送信息時才使用這種方法。它的安裝也復(fù)雜,但系統(tǒng)可靠性高,容錯能力強。有時也稱為分布式結(jié)構(gòu)。

    1.4.7 蜂窩拓?fù)浣Y(jié)構(gòu)
    蜂窩拓?fù)浣Y(jié)構(gòu)是無線局域網(wǎng)中常用的結(jié)構(gòu)。它以無線傳輸介質(zhì)(微波、衛(wèi)星、紅外等)點到點和多點傳輸為特征,是一種無線網(wǎng),適用于城市網(wǎng)、校園網(wǎng)、企業(yè)網(wǎng)。
    在計算機(jī)網(wǎng)絡(luò)中還有其他類型的拓?fù)浣Y(jié)構(gòu),如總線型與星型混合。總線型與環(huán)型混合連接的網(wǎng)絡(luò)。在局域網(wǎng)中,使用最多的是總線型和星型結(jié)構(gòu)。

    上一篇:企業(yè)視頻應(yīng)用新熱點:遠(yuǎn)程呈現(xiàn)、多屏合一、云服務(wù)

    下一篇:Oracle中間件:構(gòu)建21世紀(jì)的數(shù)據(jù)中心

    Copyright ? 2007-2021 匯訊Wiseuc. 粵ICP備10013541號    
    国产高清在线精品一区小说| 国产综合精品在线| 精品免费视在线观看| www.午夜精品| 日韩综合在线观看| 国产成人精品123区免费视频| 国产精品玖玖玖在线资源| 18国产精品白浆在线观看免费| 米奇777四色精品人人爽| 久久亚洲私人国产精品vA | 久久久久久久久久国产精品免费| 国产亚洲美女精品久久久2020| 精品成人一区二区三区四区| 无码AⅤ精品一区二区三区| 日韩一区二区三区射精| 日韩精品无码一本二本三本| 日韩在线中文字幕制服丝袜| 国产成人啪精品午夜在线播放| 国产精品第44页| 国产精品美女久久久网站| 精品国产一区二区三区av片| 欧美精品黑人粗大视频| 亚洲熟女精品中文字幕| 亚洲精品午夜国产va久久| 992tv精品视频tv在线观看| 国产精品视频第一页| 国产精品h在线观看| 无码精品国产dvd在线观看9久| 四虎永久在线精品波多野结衣| 午夜国产精品免费观看| 亚洲av日韩精品久久久久久a| 亚洲精品天堂成人片AV在线播放| 亚洲国产精品久久久久秋霞小| 久久精品国产亚洲AV未满十八| 国产成人精品一区二三区熟女| 精品国产一区二区三区在线 | 日韩精品无码久久一区二区三| 无码精品前田一区二区| 国产精品99在线播放| 国产在线精品一区二区不卡麻豆| 久久www免费人成精品香蕉|