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?
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.