WINDOWS SERVICE BUS V/S MSMQ

Everything looked great with Windows Service Bus until I noticed the CPU usage.

If you have ever built a distributed fault tolerant software systems, you already know the role played my message brokers. On Microsoft platform, until now we had only MSMQ (I am not counting all third party and open source message brokering solutions). This is a fantastic implementation of transactional queue which is good enough to build many great practical solutions. Couple of weeks ago, Microsoft released windows service bus 1.0. I was really excited to see the features. This is very close to everything I had seen in IBM MQ.

I couldn’t wait to see if we can take advantage of this new release. Everything seemed great, until I started paying attention to the CPU usage. I have provided a screen shot of task manager below. I am seeing this CPU usage of message broker pegged around 27%. IMO, this is not acceptable. I am pretty sure Microsoft will address this issue soon. Too bad, I have to wait for some more time, before our applications start taking advantage of this nice technology.

 

service-bus-cpu usage

 

UPDATES TO THIS ARTICLE – DEC 7th 2012

I sent the source code which caused this particular scenario to Microsoft and they could not reproduce this scenario. I am also not able to reproduce the same error.

Besides, you should consider your message size (MSMQ supports larger sized messages), weather you have plans to port your solution to cloud in near future etc. before moving your solution from using MSMQ to Windows Service Bus.

4 thoughts on “WINDOWS SERVICE BUS V/S MSMQ

  1. dgrospelier says:

    Hi,
    I was wondering when I see the title of your post that you would speak about MSMQ versus Service Bus. Did you go forward to test Service Bus and compare it to MSMQ ? Do you think Service Bus will replace MSMQ in the future ?
    Thanks.

    • shanthuk says:

      I was planning to put together a flow chart which will decide wheather to use MSMQ or Service Bus.

      To answer your question, yes I moved my software to use Service Bus instead of MSMQ for various reasons. However you should make that decision based on your needs. MSMQ is extremely light weight and I liked it. MSMQ also provides bigger size/message that may be critical in some applications.

      Service Bus has dependency on SQL server (it works with express edition as well). size/message is smaller. I weighed all the pros and cons and decided to use Service bus for my need. I am extremely happy with it so far.

      If you have any specific questions, let me know.

  2. dgrospelier says:

    Hi,
    Do you go forward to test Service Bus and compare it to MSMQ ? Do you think Service Bus will replace MSMQ in the future ?
    Thanks.

    • shanthuk says:

      Yes, I have already changed from MSMQ to Service in my software.

      >>Do you think Service Bus will replace MSMQ in the future ?
      If I have to speculate, I would say YES. MSMQ did not evolve (except increase in size/message) for many years. It was frozen in time!

      Where as Service bus offers everything you need to implement a classic pub-sub pattern. This is supported in the cloud (azure) also, where as MSMQ is not.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: