I know Choosing between .NET Service Bus Queues vs Azure Queue Service
provides some answers as to when to use queues for web/worker roles vs Azure Service bus, but I'm just starting to study Azure and was looking for something more thorough.
It says "NET service bus is more specifically designed for integrating systems rather than providing a general purpose reliable messaging system".
Was just wondering if I could get clarification of this? Does it mean when communicating between separate remote applications it is better to use the Service bus Queue and when communicating between web/worker roles you use the normal Azure queues.
Thanks
This can be handy if you need to handle different types of messages or messages with various data structures on the same topic. Queue: If you need to scale a queue, you're still limited to having one consumer listening. Topic: Topics can be more scalable than queues, as more than one consumer can listen to messages.
Storage queues provide a uniform and consistent programming model across queues, tables, and BLOBs – both for developers and for operations teams. Service Bus queues provide support for local transactions in the context of a single queue.
Azure Service Bus Topics Topics are almost similar to Queues, but it varies on a slight factor where Topics can have multiple, independent subscriptions. A subscriber to a Topic can receive a copy of each message sent to that Topic. Multiple receivers could be allocated to a subscription.
Service Bus enables up to 1000 concurrent connections to an entity. If a queue requires more than 1000 receivers, replace the queue with a topic and multiple subscriptions. Each subscription can support up to 1000 concurrent connections.
The service bus queues offer a lot more sophistication compared to the storage queue counterpart. Here is a link comparing and contrasting.
https://learn.microsoft.com/en-gb/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted
I would use the queue which best serve my needs favoring storage queue for generic work distribution and the service bus queues, if my needs are more sophisticated like Pub/Sub etc ...
The service bus queues & topics follows AMQP, which includes FIFO queues, pub/sub, acknowledge modes, etc. It's more standard and open, which means if you want to integrate your system with other application without any effort if it also follows AMQP.
The storage queue is more simple than the service bus one. It gives us an asynchronously channel between the roles. The communication protocol, message structure and format are all based on ourselves.
HTH
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