I need to decide between Azure Service Bus and RabbitMQ (Deployed on Azure) for an enterprise level application and my major use will be of topics (with durable storage). I see that service bus has more features as compared to RabbitMQ like Retries Count, TTL, sessions & transactions etc. But I am not sure which one is best for High availability, scalability, storage and throughput. Service bus has some limits on store size (max 5 GB for non-partitioned queue and 80 GB for partitioned queue) and throughput of 2000 msgs/sec/queue. What if I need more then these limits in case of service bus?
The limits of RabbitMQ is not clear as it depends on the cluster. If anyone can help me in deciding which one would be the best in my case?
Azure Service Bus is an enterprise queueing solution and can replace RabbitMQ if you want to take advantage of the PaaS offering instead of running RabbitMQ yourself.
RabbitMQ service bus architecture The RabbitMQ service bus acts as a link between multiple microservices through which microservices can publish messages under different numbers of queues available inside the RabbitMQ service bus.
RabbitMQ bindings are only supported for Azure Functions version 3. x and later versions.
The Azure Service Bus cloud service uses the AMQP 1.0 as its primary means of communication.
My 2 cents - RabbitMQ with Docker and Kubernetes as part of your application infrastructure gives you portability. That is you can decide to move your app to a different cloud provider more easily than if you use Azure message bus.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With