国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 消息中間件(數(shù)據(jù)庫)

消息中間件(數(shù)據(jù)庫)

時間:2022-12-01 20:30:01 | 來源:信息時代

時間:2022-12-01 20:30:01 來源:信息時代

    消息中間件 : 支持與保障分布式應(yīng)用程序之間異步收發(fā)消息的中間件。消息是分布式應(yīng)用之間進行數(shù)據(jù)交換的基本信息單位,分布式應(yīng)用程序之間的通信接口由消息中間件提供。異步指消息發(fā)送方在發(fā)送消息時不必知道接收方的狀態(tài),更無需等待接收方的回復(fù),而接收方在收到消息時也不必知道發(fā)送方的目前狀態(tài),更無需進行同步的消息處理,它們之間的連接完全是松耦合的,通信是非阻塞的。這種異步通信方式是由消息中間件中的消息隊列及其服務(wù)機制保障的。消息中間件已廣泛應(yīng)用于各類分布式應(yīng)用系統(tǒng)中。
消息起源于分布式操作系統(tǒng)進程通信模型和分布式應(yīng)用互操作技術(shù)的研究。1980年代,隨著開放系統(tǒng)互聯(lián)參考模型open system interconnect reference model,OSI的興起,作為開放系統(tǒng)網(wǎng)絡(luò)模式中底層的包交換通信范型的一種自然擴充,分布式系統(tǒng)消息機制的研究和應(yīng)用得到了極大的發(fā)展,統(tǒng)一處理消息發(fā)送、接收和管理的消息中間件的概念和平臺開始出現(xiàn)。1980年代后期,IBM公司推出了消息中間件產(chǎn)品MQSeries,成為消息中間件技術(shù)成熟的一個標(biāo)志。
進入20世紀(jì)90年代,由于應(yīng)用需求的推動,消息中間件技術(shù)得到極大的發(fā)展,并涌現(xiàn)出大量的消息中間件產(chǎn)品。為了有助于消息中間件技術(shù)的傳播,由眾多消息中間件廠商、用戶和咨詢機構(gòu)組成了消息中間件協(xié)會(message oriented middlewore association,MOMA)。MOMA是一個非盈利機構(gòu),旨在推動消息技術(shù)在跨平臺、跨層次的分布計算中的廣泛應(yīng)用。國際對象管理組織(object management group,OMG)制定了公共對象服務(wù)標(biāo)準(zhǔn)(common object service specification,COSS),其中對消息服務(wù)進行了規(guī)范。
進入21世紀(jì),消息中間件技術(shù)進一步發(fā)展。在規(guī)范化方面,由于J2EE技術(shù)的廣泛應(yīng)用,J2EE的消息服務(wù)規(guī)范(Java message service,JMS)得到消息中間件廠商的廣泛采納,并逐漸成為消息中間件的事實標(biāo)準(zhǔn)。與此同時,Web服務(wù)技術(shù)的興起,與Web服務(wù)相關(guān)的標(biāo)準(zhǔn)體系得到發(fā)展,在消息方面,W3C組織定義了Web服務(wù)的可靠消息傳送規(guī)范(WS-reliable messaging)。
目前,企業(yè)信息系統(tǒng)開始從部門級應(yīng)用向企業(yè)級、跨企業(yè)集成的方向轉(zhuǎn)變,在這一過程中,傳統(tǒng)的消息中間件體系架構(gòu)也暴露出它的局限性。傳統(tǒng)的消息中間件通常采用點對點的消息傳輸結(jié)構(gòu),即在發(fā)送方對消息進行打包時需要顯示或明顯地標(biāo)注接收方的地址。因此,盡管消息的接收方和發(fā)送方是松耦合連接的,相互通信不必保持同步,但由于在消息中必須綁定接收方地址,導(dǎo)致在廣域、大型應(yīng)用系統(tǒng)中使用消息中間件不夠靈活,系統(tǒng)擴展比較困難。為了增加消息發(fā)送方和接收方之間對地址的透明性,1990年代末期以后,消息中間件開始向發(fā)布/訂閱架構(gòu)轉(zhuǎn)變,并成為企業(yè)應(yīng)用集成中間件的一種核心機制,而基于發(fā)布/訂閱架構(gòu)的消息中間件通常稱為發(fā)布/訂閱面向消息中間件(publisher/subscribe message-oriented middleware,P/S MOM)或消息代理(message broker),以與傳統(tǒng)的消息中間件相區(qū)別。目前比較典型的消息中間件包括IBM WebSphere MQSeries、Tibco TIB/Rendezvous、Microsoft MSMQ等。
傳統(tǒng)的點對點消息中間件通常由消息隊列服務(wù)、消息傳遞服務(wù)、消息隊列和消息應(yīng)用程序接口API組成,其典型的結(jié)構(gòu)如圖1所示。


圖1 消息中間件基本結(jié)構(gòu)


消息中間件的基本工作原理為:在消息發(fā)送方,消息發(fā)送者調(diào)用發(fā)送消息的API函數(shù),將需要發(fā)送的消息經(jīng)消息隊列服務(wù)存儲到發(fā)送消息隊列中; 通過雙方消息傳遞服務(wù)之間的交互,經(jīng)消息隊列服務(wù)將需要發(fā)送的消息從發(fā)送隊列取出,并送到接收方;接收方再經(jīng)它的消息隊列服務(wù)將接收到的消息存放到它的接收消息隊列中; 在消息接收方,消息接收者調(diào)用接收消息的API函數(shù),同樣經(jīng)過消息隊列服務(wù),將需要的消息從接收隊列中取出,并進行處理。消息在發(fā)送或接收成功后,消息隊列服務(wù)將對相應(yīng)的消息隊列進行管理。
在基于消息代理的分布式應(yīng)用系統(tǒng)中,消息的發(fā)送方稱為出版者,消息的接收方稱為訂閱者,不同的消息通過不同的主題進行區(qū)分。出版者向消息代理出版其他應(yīng)用系統(tǒng)感興趣的消息,而訂閱者從消息代理接收自己感興趣的消息,出版者和訂閱者之間通過消息代理進行關(guān)聯(lián)。消息代理的基本結(jié)構(gòu)如圖2所示。


圖2 消息代理基本結(jié)構(gòu)


消息代理具有很好的靈活性和可擴展性,并支持主動、實時的信息傳遞方式,當(dāng)消息發(fā)布者有動態(tài)更新的數(shù)據(jù)產(chǎn)生時,消息代理會通過事件的發(fā)布主動通知消息訂閱者存在新的數(shù)據(jù)可用,而無需消息訂閱者進行頻度無法確定的查詢。消息代理適合于具有實時性、異步性、異構(gòu)性、動態(tài)性和松耦合的應(yīng)用需求。
消息代理的工作原理為: 消息發(fā)布者和訂閱者分別同消息代理進行通信。消息發(fā)布者將包含主題的消息發(fā)布到消息代理;消息訂閱者向消息代理訂閱自己感興趣的主題。消息代理對雙方的主題進行匹配后,不斷將訂閱者感興趣的消息推(push)給訂閱者,直到訂閱者向消息代理發(fā)出取消訂閱的消息。
消息代理實現(xiàn)了發(fā)布者和訂閱者在時間、空間和流程三個方面的解耦:
(1)時間解耦:發(fā)布方和訂閱方無需同時在線就能夠進行消息傳輸,消息中間件通過存儲轉(zhuǎn)發(fā)提供了這種異步傳輸?shù)哪芰Α?br>(2)空間解耦:發(fā)布方和訂閱方都無需知道對方的物理地址、端口,甚至無需知道對方的邏輯名字和個數(shù)。
(3)流程解耦:發(fā)布方和訂閱方在發(fā)送和接收數(shù)據(jù)時并不阻塞各自的控制流程。
從消息中間件的基本功能來看,無論是點對點消息中間件還是消息代理,其體系結(jié)構(gòu)都是非常清晰簡單的。但由于分布式應(yīng)用及其環(huán)境的多樣性和復(fù)雜性,導(dǎo)致了消息中間件的復(fù)雜性。
消息中間件的復(fù)雜性主要體現(xiàn)在下面幾個方面:
(1)消息中間件需要為分布在企業(yè)各個物理服務(wù)器上的應(yīng)用系統(tǒng)提供消息服務(wù),而這些服務(wù)器可能采用不同硬件平臺,相互之間可能通過不同的網(wǎng)絡(luò)協(xié)議進行連接,要求消息中間件能夠跨越不同的網(wǎng)絡(luò)和硬件平臺。
(2)分布式應(yīng)用可能采用不同開發(fā)語言或工具實現(xiàn),需要消息中間件為這些應(yīng)用程序提供各類應(yīng)用程序接口。
(3) 由于企業(yè)網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性和分布式應(yīng)用傳輸消息的多樣性要求,在分布式應(yīng)用之間傳遞的消息往往需要在消息中間件之間進行多次傳輸才能到達接收方,要求消息中間件具有存儲轉(zhuǎn)發(fā)或消息路由的能力。
(4)對消息傳輸?shù)陌踩浴⑹聞?wù)性、時限等質(zhì)量要求,均需要消息中間件系統(tǒng)進行相應(yīng)的處理。
(5)為了保證消息不會因為網(wǎng)絡(luò)或服務(wù)器等物理故障而在傳輸過程中丟失,往往需要消息中間件具備消息的持久存儲能力。
消息通常由消息頭和消息體兩部分組成。消息頭用于描述消息發(fā)送者和接收者的地址或消息主題,以及消息的服務(wù)質(zhì)量要求,例如,消息傳輸?shù)臅r限、優(yōu)先級、安全屬性等; 消息體用于描述消息中具體攜帶的信息內(nèi)容。目前多采用XML作為消息表示的格式。
為了有效控制消息收發(fā)過程而在消息中間件中內(nèi)置的存儲消息的數(shù)據(jù)結(jié)構(gòu)。由于消息多采用先進先出的控制方式,因此,通常采用隊列作為消息的存儲結(jié)構(gòu)。從消息的內(nèi)容來看,消息可以分為發(fā)送消息隊列、接收消息隊列、死信隊列(無法投遞或過期的消息構(gòu)成的隊列)。消息隊列也可以按消息發(fā)送的質(zhì)量要求進一步細分,如將優(yōu)先級高的隊列組織成一個優(yōu)先隊列,以便于處理。從隊列存儲介質(zhì)來看,消息隊列一般分為:
(1)持久消息隊列:基于數(shù)據(jù)庫或文件系統(tǒng),提供消息持久存儲功能,同時又具有最小的內(nèi)存開銷,適合于消息需要可靠傳輸?shù)膽?yīng)用環(huán)境。
(2) 內(nèi)存隊列:基于內(nèi)存的消息隊列。不提供消息持久功能,完全基于內(nèi)存來進行消息的緩存和分發(fā)。適合對性能要求非??量?但是消息無需可靠持久的應(yīng)用環(huán)境。
(3)高速緩存隊列: 基于數(shù)據(jù)庫和內(nèi)存Cache的持久消息隊列。提供可靠持久功能,同時又使用內(nèi)存作為Cache,具有最大的資源開銷,同時又具有很高的性能。適合于大部分應(yīng)用場合。
消息路由借用了IP層的路由和路由器中路由的概念,但不同之處在于: 消息路由屬于應(yīng)用層的概念。它是為了保證應(yīng)用之間的消息交換處于可控狀態(tài)而設(shè)計的軟件功能模塊,其機制是按照消息路由規(guī)則將消息從發(fā)送者傳送到目標(biāo)應(yīng)用,并提供消息流量控制功能。因此,消息路由有時也稱為“流量控制”、“基于內(nèi)容的路由”、“智能路由”。
服務(wù)質(zhì)量(quality of service,QoS)是指與用戶對服務(wù)滿意程度相關(guān)的各種性能效果。消息QoS機制是指消息中間件提供的消息傳送過程中在性能、安全、可靠性等方面的各種非功能型需求約束。消息中間件通常具有以下幾種QoS特性:
(1)可靠性:消息中間件的可靠性分為消息可靠性和連接可靠性,消息可靠性控制消息失效時的處理方式,連接可靠性控制連接失敗時的系統(tǒng)行為。
(2)事務(wù)性:為了使應(yīng)用和消息中間件之間的消息傳遞在一個邏輯相關(guān)的序列層次上得到控制而不僅僅只是控制單個的傳遞過程,消息中間件需要將這些邏輯相關(guān)的序列組成一個事務(wù),來保證整個消息傳遞過程的ACID特性。
(3)安全性:提供消息的授權(quán)、認(rèn)證、加密傳輸?shù)仁侄?支持安全的消息傳輸。
(4)優(yōu)先級:優(yōu)先級用來描述消息傳遞的優(yōu)先程度??紤]到具體的網(wǎng)絡(luò)傳輸情況,消息中間件無法保證每個消息都能按時傳遞給接收者,所以,消息發(fā)送者通過指定消息的緊急程度,使消息按照優(yōu)先級的順序傳遞給消息接收者。
(5)時間約束:時間約束是指消息只在特定的時期內(nèi)有效。它包括消息的開始時間、有效時間和最遲交付時間。開始時間是指消息的起始傳輸時間;有效時間是指消息的有效期; 最遲交付時間是指消息最晚到達接收者的時間,如果消息過了這個時間仍未到達,則被廢棄。
(6)隊列管理:隊列管理主要從消息發(fā)送的空間約束上進行控制,主要包括: 隊列長度、接收消息的最大數(shù)目、消息的最大長度和丟棄策略等。隊列長度是內(nèi)存中用來存儲消息的cache的大小;接收消息的最大數(shù)目控制消息接收者接收消息的最大數(shù)目; 丟棄策略是指當(dāng)消息緩存溢出時廢棄消息的順序,常見的策略包括: FIFO、LIFO、優(yōu)先級和任意順序等。
代理化、服務(wù)化、流程化、平臺化是目前消息中間件發(fā)展的主要趨勢。代理化是指消息中間件體系架構(gòu)逐漸向消息代理架構(gòu)靠攏; 服務(wù)化是指消息中間件在應(yīng)用高端支持面向服務(wù)的體系架構(gòu); 流程化是指消息中間件在應(yīng)用形態(tài)上逐漸與業(yè)務(wù)流程管理機制相融合,成為企業(yè)應(yīng)用集成中間件的一個核心組成部件: 而平臺化是指圍繞消息處理,各種應(yīng)用開發(fā)和管理工具與消息中間件有機結(jié)合在一起,為分布式應(yīng)用的消息處理提供一個有機的統(tǒng)一平臺。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉