MSMQ Message Queuing Problems

The results of a recent MSMQ evaluation. Lets assume for use in an enterprise, where there will be a dedicated remote MSMQ cluster configured for high availability and reliability.

  • Microsoft clustering is the only option, requiring Windows Server Enterprise licensing
  • Microsoft clustering requires a shared SAN( or  iSCSI at a performance cost)
  • Public queues require Active Directory, and are listed in the AD catalog
  • Message routing is only supported with public queues
  • MSMQ must be installed on ALL clients sending messages
  • Clients can’t push directly to a remote queue – messages are queued locally
  • Once the journal is full, no more messages can be written to it
  • Messages can not be expired from the journal queue (but they can form regular queues)
  • Messages cannot be received transactionally from a remote queue (MS work-around)
  • Private queues cannot be created remotely
  • Remote private queues cant be enumerated
  • Performance counters are only available for queues that have active sessions (active queues)
  • There is no concept of publisher/subscriber
  • Message delivery expiry is global to a transaction (makes custom journaling tough)
  • Cannot backup an individual queue (but can backup and restore the entire MSMQ)
  • Cannot backup public queues

List of limitations form MSDN:

December 13, 2010 · admin · No Comments
Posted in: Tech

Leave a Reply