MSMQ
  • 22 Jan 2019
  • 3 Minutes to read
  • Contributors
  • Comment
  • Dark
    Light
  • PDF

MSMQ

  • Comment
  • Dark
    Light
  • PDF

Article Summary

This section will help you to understand and position MSMQ.

What is it?

Microsoft Message Queue (MSMQ) is a Windows component which can be set up to create a message queueing capability on Windows Server. MSMQ has been around for a long time and is a robust and reliable component which many organisations have used to create message queue solutions. MSMQ is a propitiatory Microsoft implementation of a message queue server and is best used in a Microsoft to Microsoft scenario.

In recent times the work on standards around message queueing such as AMQP have lead to newer technologies which tend to get more of the headlines these days. As an example Azure Service Bus and Windows Server Service Bus are a more modern choice of Message Queue implementation on Microsoft because their visions are aligned to the newer messaging standards but customers still use MSMQ for new projects today because of its history and reliability.

Microsoft are unlikely to invest much in MSMQ but that’s mainly because its feature complete for the job that it does. It is a core part of Windows and has been for many versions but is upgraded in line with each Windows release.

The below diagram gives a simple view of two applications communicating using MSMQ.

image.png

Features

The main features of MSMQ are:

  • In memory messages
  • Persisted messages stored on disk
  • Retrieve or peek message
  • .net framework support
  • HTTP support
  • Error Queues
  • Active Directory Integration
  • Active Directory based Security ACL’s

Strengths

The key strength of MSMQ is that if your using Microsoft technologies then its easy to interact with MSMQ and its been around for years and is proven to perform well.

Weaknesses

The main weakness with MSMQ is that technology in the space it occupies has moved on some what in recent years and Microsoft is investing in Azure & Server Service Bus as its main message queueing technology. MsMQ is also a server product and the opportunity for Service Bus to be both a cloud PaaS and Server technology gives it another reason why Microsoft has changed focus.

MSMQ does not offer the topic feature which modern message queue servers offer.

Again to repeat though that Microsoft has remained committed to supporting MSMQ so if it fits with what your doing and is something you have already invested in then your safe to continue using it.

Dependencies

MSMQ requires you to have a Windows Server to install it on and potentially a cluster for a high availability environment. MSMQ can be used with messages held in memory or on disk so these are also factors which could affect the infrastructure you host it on.

Costs

MSMQ is a free component in Windows Server.

Sample Usage Scenarios

The following show the usage of MSMQ in various scenarios:

This video is about a case study where BizTalk & MSMQ were combined to create a very high volume BizTalk healthcare implementation.

The following technologies are similar or related to MSMQ

Azure & Server Service Bus

These 3 products all offer a message queue capability from Microsoft. Ive already discussed elsewhere on this page about some of the similarities, differences and aims of the products.

Recommendation

Recommendation
MSMQ has been around for years and is used by many Microsoft customers. As long as Windows Server is around we expect MSMQ to be available so from that perspective it is a safe bet. We would however recommend some caution before adopting it for anything new. Messaging systems have moved on significantly since MSMQ and MSMQ is very much viewed as a legacy technology today. We believe that to support web-scale scenarios and modern workloads you would be better off considering Azure based options first, however if they did not fit for you then MSMQ is unlikely to be going anywhere soon so you could proceed but we would recommend monitoring the longer term future of MSMQ related to your strategy

Was this article helpful?