I need to write a queuing system and I'd like to know what alternatives are there for queuing messages around Microsoft servers to MSMQ?
I know a little about MS-DTC and BizTalk but what are the pros and cons of these options and am I missing anything?
I need In-Order message delivery and potentially the ability to scale horizontally.
I'm de开发者_运维问答aling with upto around 100,000 messages an hour of less than 256kb per message.
Thanks
RabbitMQ is really good. Also search for AMQP. That stands for Advanced Message Queueing Protocol. It's an open standard for message queues. RabbitMQ is an implementation of AMQP.
MS-DTC has nothing to do with queuing, it is the Distributed Transaction Cordinator, and MSMQ can enlist in a Distributed Transaction to ensure reliable message delivery.
The issue with Biztalk IMHO, is the additional cost and complexity of having to support a biztalk server. If all you want is queuing then Biztalk might be overkill. A big seller of biztalk is the tools it provides for integrating various systems together.
What is wrong with MSMQ? You could easily handle that load, and I believe MSMQ can scale out when running in Active Directory.
You could also look at other vendors IBM's MQ Series (Which I would advise against if your in a microsoft environment), Rhino Queues is another one I am vaguley familiar with.
精彩评论