訊息處理(MSMQ)基礎知識

來源:互聯網
上載者:User

     MSMQ(MicroSoft Message Queue,微軟訊息佇列)是在多個不同的應用之間實現相互連信的一種非同步傳輸模式,相互連信的應用可以分佈於同一台機器上,也可以分佈於相連的網路空間中的任一位置。它的實現原理是:訊息的寄件者把自己想要發送的資訊放入一個容器中(我們稱之為Message),然後把它儲存至一個系統公用空間的訊息佇列(Message Queue)中;本地或者是異地的訊息接收程式再從該隊列中取出發給它的訊息進行處理。

一、基本概念

"訊息":是指兩台電腦間傳遞的資料單位。訊息可以非常簡單,例如只包含文本字串,也可以更複雜,可能包含內嵌物件。

訊息佇列:是在訊息傳輸過程中儲存訊息的容器。訊息佇列管理器在將訊息從它的源中繼到它的目標時充當中間人。隊列的主要目的是提供路由並保證訊息的傳遞;如果發送訊息時接受者不可用,訊息佇列會保留訊息,直到成功的傳遞它。

訊息佇列 是Microsoft的訊息處理技術,它在任何安裝了Microsoft Window的電腦群組合中,為任何應用程式提供訊息處理和訊息佇列功能功能,無論這些電腦是否在同一個網路上或者是否同時聯機。

二、隊列類型

1.使用者隊列

公用隊列:在整個"訊息佇列"網路中複製,並且有可能由網路連接的所有網站訪問。

專用隊列:不再整個網路中發布。相反,它們僅在駐留的本機電腦可用。專用隊列只能由知道隊列的完整路徑名或標籤的應用程式訪問。

管理隊列:包含確認在給定"訊息佇列"網路中發送的訊息回執的訊息。

響應隊列:包含目標應用程式接收到訊息時返回給發送應用程式的響應訊息。

2.系統隊列

日記隊列:可選地儲存發送訊息的副本和從隊列中移除的訊息副本。

無效信件佇列:儲存無法傳遞或已經到期的訊息副本。

報告隊列:包含指示訊息到達目標所經過的路由的訊息,還可以包含測試訊息。每台電腦只能有一個報告隊列。

專用系統隊列:是一系列儲存系統執行訊息處理操作所需的管理和通知訊息的專用隊列。

三、使用訊息佇列的優點

穩定性----組件失敗對訊息的影響程度遠遠小於組件間的直接調用,因為訊息儲存在隊列中並一直在那裡,直到被適當地處理。

訊息的優先順序-----更緊急或更重要的訊息可以在相對於不重要的訊息之前接受,因此可以為關鍵的應用程式保證足夠的回應時間。

離線能力----發送訊息時,它們可被發送到暫存佇列中並一直留在那裡。直到被成功地傳遞。

安全性-----MessageQueue組件基於的訊息佇列技術使用Windows安全來保護存取控制,提供審核,並對組件發送和接受的訊息進行驗證和加密。

四、Microsoft Message Queue

利用Microsoft Windows "訊息佇列",應用程式開發人員可以通過發送和接收訊息方便地與應用程式進行快速可靠的通訊。

MSMQ與XML Web Service和.Net Remoting一樣,是一種分布式的開發技術。但是在使用XML Web Service 或.Net Remoting組件時,Client端需要和Server端即時交換資訊,Server端需要保持聯機。MSMQ則可以在Server離線的情況下工作,將訊息臨時儲存在Client端的訊息佇列中,以後聯機時再發送到Server端處理。

採用MSMQ帶來的好處是:由於是非同步通訊,無論是發送方還是接收方都不用等待對方返回成功訊息,就可以執行餘下的代碼,因而大大的提高了交易處理的能力。

五、MSMQ與Email

MSMQ是Windows作業系統中訊息應用程式的基礎,是用於建立分布式,鬆散串連的訊息通訊應用程式的開發工具。

訊息佇列和電子郵件有著很多的相似之處,他們都包含了多個屬性,用於儲存資訊,訊息類型中都指出寄件者和接受者的地址:

然而他們的用處卻有著很大的區別:訊息佇列的寄件者和接收者是應用程式,而電子郵件的寄件者和接收者通常是人。

 

Best Regards,

Charles Chen

msn:  gotosunny@msn.com 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.