Insight AX
Back to Featured Insights

Azure Service Bus Overview and Best Practices

23 October 20202 min read
AzureService BusMessagingIntegration ArchitectureQueuesDistributed SystemsHigh Availability

Azure Service Bus is a messaging service that links systems in a decoupled way, making it suitable as a transaction point in a distributed system. The architecture is straightforward: Publishers/Senders push messages to Service Bus queues, and Receivers consume those messages.

Azure Service Bus architecture

Best Practices

Back-off and retry logic — Implement retry logic to handle transient timeouts. See Retry guidance for Service Bus.

Logging and tracing — Implement a logging system to track client and server errors. See End-to-end tracing.

Service Bus Explorer — Use the explorer tool for better management of Service Bus resources. See the Service Bus Explorer GitHub repository.

Receive model selection — Choose the right receive model for your architecture: at least once or at most once. See Receive modes.

High availability — Implement a high availability architecture. See Asynchronous messaging patterns.

Outage protection — Plan for outages and disasters. See Outages and disasters.

Premium tier — Consider using Premium Service Bus for predictable performance in a dedicated compute environment. See Premium messaging.

For more details, see the Service Bus FAQ and best practices.

Service Bus Transactions

A particularly useful feature is Service Bus Transactions, which supports grouping operations against a single messaging entity (queue, topic, subscription) within the scope of a transaction. For example, you can send several messages to one queue from within a transaction scope, and the messages will only be committed to the queue's log when the transaction successfully completes.

See Service Bus Transactions for full details.