<ul id="aaoko"></ul>
<strike id="aaoko"><s id="aaoko"></s></strike>
<strike id="aaoko"></strike>

消息通信

2012年01月13日    點擊數: 18867    字體:           一鍵關注匯訊

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

主要特點:
    通訊程序可在不同的時間運行程序不在網絡上直接相互通話,而是間接地將消息放入消息隊列,因為程序間沒有直接的聯系。所以它們不必同時運行。消息放入適當的隊列時,目標程序甚至根本不需要正在運行;即使目標程序在運行,也不意味著要立即處理該消息。對應用程序的結構沒有約束在復雜的應用場合中,通訊程序之間不僅可以是一對一的關系,還可以進行一對多和多對一方式,甚至是上述多種方式的組合。多種通訊方式的構造并沒有增加應用程序的復雜性。程序將消息放入消息隊列或從消息隊列中取出消息來進行通訊,與此關聯的全部活動,比如維護消息隊列、維護程序和隊列之間的關系、處理網絡的重新啟動和在網絡中移動消息等是MOM 的任務,程序不直接與其它程序通話,并且它們不涉及網絡通訊的復雜性

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

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

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

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

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

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

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

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

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

1.4 網絡適應性
    計算機連接的方式叫做“網絡拓撲結構”(Topology)。網絡拓撲是指用傳輸媒體互連各種設備的物理布局,特別是計算機分布的位置以及電纜如何通過它們。設計一個網絡的時候,應根據自己的實際情況選擇正確的拓撲方式。每種拓撲都有它自己的優點和缺點。

網絡拓撲的分類如下:
1.4.1 星型結構
星型結構是指各工作站以星型方式連接成網。網絡有中央節點,其他節點(工作站、服務器)都與中央節點直接相連,這種結構以中央節點為中心,因此又稱為集中式網絡。它具有如下特點:結構簡單,便于管理;控制簡單,便于建網;網絡延遲時間較小,傳輸誤差較低。但缺點也是明顯的:成本高、可靠性較低、資源共享能力也較差。

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

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

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

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

1.4.6網狀拓撲結構
在網狀拓撲結構中,網絡的每臺設備之間均有點到點的鏈路連接,這種連接不經濟,只有每個站點都要頻繁發送信息時才使用這種方法。它的安裝也復雜,但系統可靠性高,容錯能力強。有時也稱為分布式結構。

1.4.7 蜂窩拓撲結構
蜂窩拓撲結構是無線局域網中常用的結構。它以無線傳輸介質(微波、衛星、紅外等)點到點和多點傳輸為特征,是一種無線網,適用于城市網、校園網、企業網。
在計算機網絡中還有其他類型的拓撲結構,如總線型與星型混合。總線型與環型混合連接的網絡。在局域網中,使用最多的是總線型和星型結構。

上一篇:企業視頻應用新熱點:遠程呈現、多屏合一、云服務

下一篇:Oracle中間件:構建21世紀的數據中心

Copyright ? 2007-2021 匯訊Wiseuc. 粵ICP備10013541號    
展開
中文无码亚洲精品字幕| 日韩精品视频观看| 久久国产精品免费| 国产三级精品在线观看| 精品91自产拍在线| 无码精品视频一区二区三区| 久久91这里精品国产2020| 国产精品色午夜免费视频| 国产福利视精品永久免费| 全球AV集中精品导航福利| 任你躁在线精品免费| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 久久亚洲欧美国产精品| 久久久久99精品成人片直播 | 人妻精品久久久久中文字幕| 国产精品亚洲一区二区三区| 中文字幕亚洲精品资源网| 精品久久一区二区| 国产三级国产精品国产普男人| 网友偷拍日韩精品| 青青青国产精品国产精品美女| 久久久精品波多野结衣AV| 国产亚洲精品线观看动态图| 一本久久a久久精品综合香蕉| 日韩内射激情视频在线播放免费 | 国产精品无码一区二区在线观| 亚洲视频精品在线| 国产精品丝袜一区二区三区| 拍国产乱人伦偷精品视频| 亚洲AV日韩AV天堂久久| 国内一级特黄女人精品毛片| 精品香蕉在线观看免费| 99精品视频在线观看免费播放| 久久国产精品范冰啊| 精品免费久久久久国产一区 | 精品露脸国产偷人在视频| 国产999精品久久久久久| 亚洲国产精品成人网址天堂| 国产精品18久久久久久麻辣| 99久久国产综合精品五月天| 国产精品久久久久天天影视|