MQ的基本概念

來源:互聯網
上載者:User

1) 隊列管理器

隊列管理器是MQ系統中最上層的一個概念,由它為我們提供基於隊列的Message Service。

2) 訊息

在MQ中,我們把應用程式交由MQ傳輸的資料定義為訊息,我們可以定義訊息的內容並對訊息進行廣義的理解,比如:使用者的各種類型的資料檔案,某個應用向其它應用發出的處理請求等都可以作為訊息。訊息有兩部分組成:

訊息描述符(Message Discription或Message Header),描述訊息的特徵,如:訊息的優先順序、生命週期、訊息Id等;

訊息體(Message Body),即使用者資料部分。在MQ中,訊息分為兩種類型,非永久性(non-persistent)訊息和永久性(persistent)訊息,非永久性訊息是儲存在記憶體中的,它是為了提高效能而設計的,當系統掉電或MQ隊列管理器重新啟動時,將不可恢複。當使用者對訊息的可靠性要求不高,而側重系統的效能表現時,可以採用該種類型的訊息,如:當發布股票資訊時,由於股票資訊是不斷更新的,我們可能每若干秒就會發布一次,新的訊息會不斷覆蓋舊的訊息。永久性訊息是儲存在硬碟上,並且紀錄資料日誌的,它具有高可靠性,在網路和系統發生故障等情況下都能確保訊息不丟、不重。

此外,在MQ中,還有邏輯訊息和物理訊息的概念。利用邏輯訊息和物理訊息,我們可以將大訊息進行分段處理,也可以將若干個本身完整的訊息在應用邏輯上歸為一組進行處理。

3) 隊列

隊列是訊息的安全存放地,佇列儲存體訊息直到它被應用程式處理。

訊息佇列以下述方式工作:

a) 程式A形成對訊息佇列系統的調用,此調用告知訊息佇列系統,訊息準備好了投向程式B;

b) 訊息佇列系統發送此訊息到程式B駐留處的系統,並將它放到程式B的隊列中;

c) 適當時間後,程式B從它的隊列中讀此訊息,並處理此資訊。

由於採用了先進的程式設計思想以及內部工作機制,MQ能夠在各種網路條件下保證訊息的可靠傳遞,可以克服網路線路品質差或不穩定的現狀,在傳輸過程中,如果通訊線路出現故障或遠端的主機發生故障,本地的應用程式都不會受到影響,可以繼續發送資料,而無需等待網路故障恢複或遠端主機正常後再重新運行。

在MQ中,隊列分為很多種類型,其中包括:本地隊列、遠程隊列、模板隊列、動態隊列、別名隊列等。

本地隊列又分為普通本地隊列和傳輸隊列,普通本地隊列是應用程式通過API對其進行讀寫操作的隊列;傳輸隊列可以理解為儲存-轉寄隊列,比如:我們將某個訊息交給MQ系統發送到遠程主機,而此時網路發生故障,MQ將把訊息放在傳輸隊列中暫存,當網路恢複時,再發往遠端目的地。

遠程隊列是目的隊列在本地的定義,它類似一個地址指標,指向遠程主機上的某個目的隊列,它僅僅是個定義,不真正佔用磁碟儲存空間。

模板隊列和動態隊列是MQ的一個特色,它的一個典型用途是用作系統的可擴充性考慮。我們可以建立一個模板隊列,當今後需要新增隊列時,每開啟一個模板隊列,MQ便會自動產生一個動態隊列,我們還可以指定該動態隊列為暫存佇列或者是永久隊列,若為暫存佇列我們可以在關閉它的同時將它刪除,相反,若為永久隊列,我們可以將它持續保留,為我所用。

4) 通道

通道是MQ系統中隊列管理器之間傳遞訊息的管道,它是建立在物理的網路連接之上的一個邏輯概念,也是MQ產品的精華。

在MQ中,主要有三大類通道類型,即訊息通道,MQI通道和Cluster通道。訊息通道是用於在MQ的伺服器和伺服器之間傳輸訊息的,需要強調指出的是,該通道是單向的,它又有發送(sender), 接收(receive), 要求者(requestor), 服務者(server)等不同類型,供使用者在不同情況下使用。MQI通道是MQ Client和MQ Server之間通訊和傳輸訊息用的,與訊息通道不同,它的傳輸是雙向的。群集(Cluster)通道是位於同一個MQ 群集內部的隊列管理器之間通訊使用的。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.