RabbitMQ, an open source message broker, is part of Pivotal Software, a VMware company acquired in 2019, and supports message queue, multiple messaging protocols, and more.
RabbitMQ is available open source, however VMware also offers a range of commercial services for RabbitMQ; these are available as part of the Pivotal App Suite.
It is perfectly suited if some heavy operation needs to be automated where jobs can be queued up. Scalable app which is required to develop in a lesser time frame. Good for when users should be able to change rules more frequently without any downtime, like promotions. The server is well proven in the market. BizTalk server is the best fit if all other integration adapters are developed using Microsoft applications and if all applications are meant to be processed on a Windows environment.
If you are looking for a message broker, RabbitMQ is pretty good. Its API lets you create tons of queues on demand and publish to all of them at once, while you can have 10+ consumers on each queue. It also does a good job of absorbing bursts of traffic. We've seen our queues get backed up to 3 million messages with no problem. In the modern era of GDPR, you may run into problems with keeping messages encrypted out of the box in-flight and at-rest with RabbitMQ. Not saying it's impossible, but it's tough to set up and you have to pay a high overload.
BizTalk uses Microsoft Visual Studio as the IDE (integrated development environment) tool, and it's very easy to use.
The orchestration engine of BizTalk addresses resource issue very well for long-running business processes by dehydrating and rehydrating orchestration instances.
BizTalk is very easy to integrate if the development is mainly on the Microsoft software family.
What RabbitMQ does well is what it's advertised to do. It is good at providing lots of high volume, high availability queue. We've seen it handle upwards of 10 million messages in its queues, spread out over 200 queues before its publish/consume rates dipped. So yeah, it can definitely handle a lot of messages and a lot of queues. Depending on the size of the machine RabbitMQ is running on, I'm sure it can handle more.
Decent number of plugins! Want a plugin that gives you an interface to view all the queues and see their publish/consume rates? Yes, there's one for that. Want a plugin to "shovel" messages from one queue to another in an emergency? Check. Want a plugin that does extra logging for all the messages received? Got you covered!
Lots of configuration possibilities. We've tuned over 100 settings over the past year to get the performance and reliability just right. This could be a downside though--it's pretty confusing and some settings were hard to understand.
BizTalk needs to be better at tracking down errors after the fact. Input files by default get deleted after processing successfully, unless you specifically specify that they don't. This can be an issue where you need to see what the input file contained, since you may have errors showing up in your target platform, in our case this was SAP.
BizTalk logging needs improved. It needs to be able to log the content of the messages it sends and receives. It would be good if the log had a link to the input and output files.
BizTalk needs to allow a simple way to preserve the input and output files for debugging purposes. A master setting on the orchestration would be helpful for this.
It breaks communication if we don't acknowledge early. In some cases our work items are time consuming that will take a time and in that scenario we are getting errors that RabbitMQ broke the channel. It will be good if RabbitMQ provides two acknowledgements, one is for that it has been received at client side and second ack is client is completed the processing part.
Microsoft BizTalk is not an intuitive product. It requires many hours of looking through the settings to achieve what you need. Using 3rd party DLLs is a nightmare as you are forced to register them in the GAC of the server and this process is quite cumbersome just to use a DLL.
RabbitMQ is very usable if you are a programmer or DevOps engineer. You can setup and configure a messaging system without any programmatic knowledge either through an admin console plugin or through a command-line interface. It's very easy to spin up additional consumers when volume is heavy and it's very easy to manage those consumers either through automated scripting or through their admin console. Because it's language agnostic it integrates with any system supporting AMQP.
BizTalk Server has been supported for more than 15 years. It is well proven in the market. Microsoft has provided excellent support with technical issues.
I gave it a 10 but we do not have a support contract with any company for RabbitMQ so there is no official support in that regard. However, there is a community and questions asked on StackOverflow or any other major question and answer site will usually get a response.
We did look at Jitterbit dataloader from Salesforce.com. Jitterbit seems like a pretty decent solution if you are doing a lot of uploads into Salesforce.com. However, its not nearly as flexible as Microsoft Biztalk is. Biztalk allows you to create any type of custom solution you wish, whereas Jitterbit is much more limited.
It is very easy to use as it has a simple function to connect and use RabbitMQ. It is having Fast Learning curve, Any newbies can learn it in a week or month. It is having proper documentation, we are able to find all the details about its functionality and usage of it. The Features of RabbitMQ are providing are matching with our business requirements.
Earlier we had a problem with missing work items with our own implementation but later using RabbitMQ is solved a problem. Now our job processing mechanism is highly reliable.
We also had a problem with scaling, processing 1k work items per second. RabbitMQ helped us to scale well with increasing work items.