MSMQ,是Microsoft Message Queue的簡寫,就是微軟消息隊列,用于應用程式之間互相通信的一種異步傳輸模式。應用程式可以分布在同台機器上,也可以分布于互聯的網絡中的任意位置。
實作的基本原理:消息發送者把要發送的消息放入容器,也就是Message(消息),然後儲存到系統公用空間的消息隊列中(Message Queue)中,然後,本地或互聯位置上的消息接收程式再從隊列中取出發給它的消息進行處理。
隊列的類型
有兩種主要類别的隊列:由本機或網絡中的其他使用者建立的隊列和系統隊列。
使用者建立的隊列可能是以下任何一種隊列:
“公共隊列”在整個“消息隊列”網絡中複制,并且有可能由網絡連接配接的所有站點通路。
“專用隊列”不在整個網絡中釋出。相反,它們僅在所駐留的本地計算機上可用。專用隊列隻能由知道隊列的完整路徑名或标簽的應用程式通路。
“管理隊列”包含确認在給定“消息隊列”網絡中發送的消息回執的消息。指定希望 MessageQueue 元件使用的管理隊列(如果有的話)。
“響應隊列”包含目标應用程式接收到消息時傳回給發送應用程式的響應消息。指定希望 MessageQueue 元件使用的響應隊列(如果有的話)。
系統生成的隊列一般分為以下幾類:
“日記隊列”可選地存儲發送消息的副本和從隊列中移除的消息副本。每個“消息隊列”用戶端上的單個日記隊列存儲從該計算機發送的消息副本。在伺服器上為每個隊列建立了一個單獨的日記隊列。此日記跟蹤從該隊列中移除的消息。
“死信隊列”存儲無法傳遞或已過期的消息的副本。如果過期消息或無法傳遞的消息是事務性消息,則被存儲在一種特殊的名為“事務性死信隊列”的死信隊列中。死信存儲在過期消息所在的計算機上。有關逾時期限和過期消息的更多資訊,請參見預設消息屬性。
“報告隊列”包含訓示消息到達目标所經過的路由的消息,還可以包含測試消息。每台計算機上隻能有一個報告隊列。
“專用系統隊列”是一系列存儲系統執行消息處理操作所需的管理和通知消息的專用隊列。
在應用程式中進行的大多數工作都涉及通路公共隊列及其消息。但是,根據應用程式的日記記錄、确認和其他特殊處理需要,在日常操作中很可能要使用幾種不同的系統隊列。
隊列類型的路徑格式:
隊列類型 | 文法 |
公共隊列 | MachineName\QueueName |
專用隊列 | MachineName\Private$\QueueName |
日記隊列 | MachineName\QueueName\Journal$ |
計算機日記隊列 | MachineName\Journal$ |
計算機死信隊列 | MachineName\Deadletter$ |
計算機事務性死信隊列 | MachineName\XactDeadletter$ |
部落格園大道至簡
http://www.cnblogs.com/jams742003/轉載請注明:部落格園