當前位置:編程學習大全網 - 源碼下載 - MSMQ是做什麽用的

MSMQ是做什麽用的

它的實現原理是:消息的發送者把自己想要發送的信息放入壹個容器中(我們稱之為Message),然後把它保存至壹個系統公用空間的消息隊列(Message Queue)中;本地或者是異地的消息接收程序再從該隊列中取出發給它的消息進行處理。

在消息傳遞機制中,有兩個比較重要的概念。壹個是消息,壹個是隊列。消息是由通信的雙方所需要傳遞的信息,它可以是各式各樣的媒體,如文本、聲音、圖象等等。消息最終的理解方式,為消息傳遞的雙方事先商定,這樣做的好處是,壹是相當於對數據進行了簡單的加密,二則采用自己定義的格式可以節省通信的傳遞量。消息可以含有發送和接收者的標識,這樣只有指定的用戶才能看到只傳遞給他的信息和返回是否操作成功的回執。消息也可以含有時間戳,以便於接收方對某些與時間相關的應用進行處理。消息還可以含有到期時間,它表明如果在指定時間內消息還未到達則作廢,這主要應用與時間性關聯較為緊密的應用。

消息隊列是發送和接收消息的公用存儲空間,它可以存在於內存中或者是物理文件中。消息可以以兩種方式發送,即快遞方式(express)和可恢復模式(recoverable),它們的區別在於,快遞方式為了消息的快速傳遞,把消息放置於內存中,而不放於物理磁盤上,以獲取較高的處理能力;可恢復模式在傳送過程的每壹步驟中,都把消息寫入物理磁盤中,以得到較好的故障恢復能力。消息隊列可以放置在發送方、接收方所在的機器上,也可以單獨放置在另外壹臺機器上。正是由於消息隊列在放置方式上的靈活性,形成了消息傳送機制的可靠性。當保存消息隊列的機器發生故障而重新啟動以後,以可恢復模式發送的消息可以恢復到故障發生之前的狀態,而以快遞方式發送的消息則丟失了。另壹方面,采用消息傳遞機制,發送方必要再擔心接收方是否啟動、是否發生故障等等非必要因素,只要消息成功發送出去,就可以認為處理完成,而實際上對方可能甚至未曾開機,或者實際完成交易時可能已經是第二天了。

采用MSMQ帶來的好處是:由於是異步通信,無論是發送方還是接收方都不用等待對方返回成功消息,就可以執行余下的代碼,因而大大地提高了事物處理的能力;當信息傳送過程中,信息發送機制具有壹定功能的故障恢復能力;MSMQ的消息傳遞機制使得消息通信的雙方具有不同的物理平臺成為可能。

在微軟的.net平臺上利用其提供的MSMQ功能,可以輕松創建或者刪除消息隊列、發送或者接收消息、甚至於對消息隊列進行管理。

在.NET產品中,提供了壹個MSMQ類庫System.Messaging.dll。它提供了兩個類分別對消息對象和消息隊列對象進行操作。在能夠使用MSMQ功能之前,妳必須確定妳的機器上安裝了MSMQ消息隊列組件,並確保服務正在運行中。在使用ASP.NET編程時,應在頭部使用:

<%@ Assembly Name=System.Messaging%

  • 上一篇:個人網站建設方法和過程
  • 下一篇:微信直播是怎麽實現的?
  • copyright 2024編程學習大全網