What is most valuable?
- Does SSL (security)
- Does clustering (stability)
- Integrates with LDAP (management)
- Automatically resends data when a consumer fails
- Automatically routes data
- Excellent spring boot integration
- Multiple programming languages provide excellent integration
How has it helped my organization?
With RabbitMQ cluster servicing micro-services, we don't have any downtime and we don't lose any data. We can update and/or upgrade the micro-services without downtime.
What needs improvement?
- You cannot edit shovels other than by recreating them.
- Routing of data could be more enhanced with a nice GUI. ("IF header.contains(this.thing) THEN data.goesTo(cluster_02)").
- In its current form, you have to recreate a shovel with the same parameters except for the one you want to change. You end up doing more or less a delete/create.
- There is no HTML form where you can click on a shovel and adjust the wrong parameter.
- If I click on a shovel, I get on a page that lists the shovel, but it is not editable. You have to create a shovel and then delete the old one with all the same parameters, except for the one you want to change.
- Temporarily stopping shovels is also not possible in the web interface. I do not know if the CLI version can do it, but if somebody wants to temporarily stop the incoming flow, he or she has to delete the shovel and then recreate it afterwards. This is annoying, to say the least.
- RabbitMQ has to be started before one can define exchanges, queues, and even users with rabbitmqctl. See https://www.rabbitmq.com/man/r...
- This is no problem if one lives in the monolithic server environment. However, if one wanted to make a RabbitMQ Docker-container with a pre-defined set of exchanges, queues, users, and shovels, you have to literally jump start the server. You would have to configure it in the Docker build phase. You would do it like this in the Dockerfile: RUN service start rabbitmq-server && wait 30 && rabbitmqctl add_user mike mikespassword.
For how long have I used the solution?
I have used RabbitMQ for four years.
What do I think about the stability of the solution?
We did have stability issues in the past. After shutting it down, the cluster did not start until we deleted some corrupted file. This occurred more than a year ago.
What do I think about the scalability of the solution?
It works as expected, i.e., flawless.
How are customer service and technical support?
We have not needed any technical support as of yet.
Which solution did I use previously and why did I switch?
We did not evaluate any previous solutions.
How was the initial setup?
Just enter this command: $ apt-get install rabbitmq-server
What's my experience with pricing, setup cost, and licensing?
It’s open source with paid support.
Which other solutions did I evaluate?
We looked at Kafka, but we needed the routing as well.
What other advice do I have?
Start it in Docker and use Java Spring Boot or Node.JS with amqplib to connect to it. It has transformed how I think data should flow in an organization.