today I want to document few features of MSMQ.
First of all I want to say that MSMQ is ancient technology. It started it's life from Windows 95 as windows service. So for time of writing of this blog post it already had 22 years!
General principle of working of MSMQ is save - forward activity. Store message, forward it to something. By default MSMQ is stored in memory. But you can also store it on disk.
There are two kinds of Queues in MSMQ : public and private.
Public has following features:
- Active directory is used for publishing
- Clients can ask Active Directory for search, manipulate, send messages
- Integrated with windows security
Private has following features:
- Not integrated with AD
- Still accessible for external usage
- Disabled security featurues
Private means that outsied machine queue can't be queried.
With such differences you may ask, why somebody can need private and not use public? One of the reasons is performance issue. If you have some additional payload, as usually it means performance decrease.