RabbitMQ version distribution
Most of our users (about 61%) are still on RabbitMQ 3.7, which isn’t a huge surprise for the simple reason that version 3.8 has only been out for a short time and is not yet added as the default version in our control panel.
Quite a few users are still on versions 3.5 or 3.6 and some are still happy sticking with version 3.3, perhaps living by the motto: “If it is working, then don’t change it!”
As a general rule, we do not upgrade users without their permission, but we do make it very easy for users to upgrade themselves via the CloudAMQP control panel. If you have any questions about version upgrade, please contact our support team for help.
Language distribution by vhost
We see that Node.JS, Python, and Java are the most popular languages this year, but since we don’t have any data to compare with from 2018, this may have remained the same.
Client distribution by vhost
Node.JS amqplib is the most popluar client lib among CloudAMQP users. We can see that users rely on the same client lib whitin a specific language, except for .NET users, where the usage is divided between MassTransit, EasyNetQ, and .NET NServiceBus.
Queues, users, policies, bindings, exchanges
One thing to note is that most people seem to stay away from policies and separating access with vhosts and users. We actually provision our servers with two vhosts, three policies, and two users – and it seems like most people decide to just leave it like that and don’t use those features that much.
We have also listed the max numbers we found, and as you can see, there is one cluster with 152,391 bindings and one with 157,115 exchanges. It's a lot and if you are at those levels, you should probably check up your setup.
Median number of queues: 7 (Max number of queues: 28,720)
Median number of users: 2 (Max number of users: 121,184)
Median number of policies: 3 (Max number of policies: 6,576)
Median number of bindings: 3 (Max number of bindings: 152,391)
Median number of exchanges: 7 (Max number of exchanges: 157,115)
Median number of vhosts: 2 (Max number of vhosts: 752)
Last year (2018), about 6% of our clusters had HiPE enabled. This has during 2019 gone down to around 5% of the clusters. One reason could be that HiPE is not yet supported for Erlang OTP 22.0 More information can be found here: https://www.erlang.org/news/132.
If you, by reading this article, feel something like "This is not how we are using RabbitMQ!" or "We are the one with too many bindings", feel free to reach out to us for some help, or:
- Check out our popular blog series on RabbitMQ Best Practices to learn how you can optimize RabbitMQ for your specific use case.
- CloudAMQP offers a built-in Diagnostic Tool for all paid plans, which will give you suggestions on improvements.
A more in-depth walkthrough of our findings was presented on RabbitMQ
Summit in November a couple of months ago.
CloudAMQP offers flexible RabbitMQ plans for all your needs. You are only billed by the second of usage, and you can cancel your subscription at any time. And, best of all, you can get started for free.