Hi, I thought I would add my 2 cents since I have been working quite a lot with both SSB as well as RabbitMQ (RMQ).
First of all: I agree with most of what David says in his post.The only thing I might disagree with a "little" bit is the:
"Once you grok the design, and the strange troubleshooting a lot of the TSQL
is boilerplate." Art my workplace we are using SSB quite extensively, and we have a lot of processes using it. We started using SSB when SQL server 2005 was still in beta (so quite a few years now), but we still get "bitten" by SSB's "black box" behaviour now and then.
So, the last few years - for new projects - we have started using RMQ. All of our data processing happens in stored procedures, so it is easy to make a "hook-point" in the procedure, and in that "hook-point" send data via an SQLCLR assembly to RMQ. You can read more about that here. The SQLCLR solution works extremely well, and we are sending thousands of messages per second (our databases are OLTP 24/7 with very high throughput).
Anyway, in my mind the choice between SSB and RMQ comes down to a couple of things (I assume that the source of the data is in the database):
Hope this helps! Please let us know what you decide.
>>>>>>>>>>>>>>>>>>>>>>>>
Well, both Service Broker and RabbitMQ support queues. I'm going to need a little bit more if I'm going to convince upper management to adopt RabbitMQ here -- why should they invest in RabbitMQ over just using the Service Broker that SQL Server already provides? What are the advantages and disadvantages? Thanks!