Message Queuing

  • Thread starter Thread starter Just D.
  • Start date Start date
J

Just D.

Did anybody use this Message Queuing and knew all details about it? What's
the physical limit of this Message Queuing system, number of messages,
mbytes, message size? Where it stores messages, RAM, DISK? Do we lose
everything if the machine is just rebooted or we can save all messages on
disk to send them later where we're on line?

Just D.
 
Hi!

Just D. said:
Did anybody use this Message Queuing and knew all details about it?

- I have and I know some details.
What's the physical limit of this Message Queuing system, number of
messages, mbytes, message size?

- How long is a string? I have no hard statistics at all, but on a fairly
new server I haven't yet had any problems with scalability regardring cpu,
memory and disk; - It simply just works...=)

If you need to scale just throw in another server and randomly hit them.
Should not be a problem.
Where it stores messages, RAM, DISK? Do we lose everything if the machine
is just rebooted or we can save all messages on disk to send them later
where we're on line?

- This is the beauty with message queueing. It gives you 'reliable
transmission' i.e. if you send a message on the queue it will only signal
success if was stored reliable on the queue. Also a message received is not
removed from the queue if it has not been trasnmitted correctly. Same as a
database management system like SQL Server.

Hence, you could very much pull the plug on a computer with a message queue.
The queue start up ok when you turn the power back on and no messages will
be lost or sent twice.

There was rumours that older versions of MSMQ was unreliable. Not sure that
is true.
But, I've tried working with old MSMQ via COM in C++, and it was a
nightmare.
I'll never do that again! Ever!. =)

With .NET; working with MSMQ is so very elegant and easy that I tend to use
MSMQ more and more in my solutions. In the future, with longhorn and the
indigo framework, queuing will be used even more for handling async
webservices.

Regards
- Michael S
 
MSMQ has seen a significant evolution over the years, and your questions are
valid ones.

In order to get good information about MSMQ, you will need to ask about the
specific version of the OS on which you intend to use MSMQ.
See
http://www.microsoft.com/windows2000/technologies/communications/msmq/default.asp
for links to detailed information on each version.

For current versions of MSMQ, there is a 4MB limit on the size of an
individual message if it is in ASCII, or a 2MB limit if it is in Unicode.
MSMQ messages are stored in the filesystem in memory-mapped files, so
rebooting your PC will not delete the messages.
There is no limit on the number of messages. However, if you have a large
volume of messages open at one time, you may want to adjust specific
settings to allow virtual memory to be reclaimed more frequently than the
default (which is something like '6 hours').

You do not need to save messages to make MSMQ reliable. It is already
reliable.

With Indigo, many of these statements will not be valid, so I strongly
encourage you to read up on the Indigo framework if you intend to make use
of it.
--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
 
Back
Top