Introduction to Azure Service Bus

Develop Azure Event-based and Message-based Solutions

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

Queue Storage vs Service Bus

Queue Storage

  • Simple "to-do" list
  • No advanced features
  • Each message processed once

Service Bus

  • Enterprise messenger
  • Stronger delivery guarantee
  • Richer routing
  • Coordination features
  • Can have multiple consumers

Queue Storage

Service Bus

Develop Azure Event-based and Message-based Solutions

Service Bus Queues

  • Point-to-point:
    • Once producer sends a message
    • One consumer picks it up
    • Message processed once
  • Similar to how Queue Storage works

Service Bus logo

Develop Azure Event-based and Message-based Solutions

Service Bus Topics

  • Publish-subscribe model
    • Multiple producers send messages
    • Multiple consumers can received the same message
  • Each subscription can filter messages:
    • Each subscription gets what's relevant
  • A queue is like a single inbox
  • A topic is like a mailing list

Service Bus Topic

Develop Azure Event-based and Message-based Solutions

Message reliability

  • Built-in reliability:
    • Failures are handled
    • Automatic retires
  • Dead-letter queue:
    • Reserved for failed messages
    • Messages can be examined

Message reliability

Develop Azure Event-based and Message-based Solutions

Duplicate detection

  • Duplicate detection prevents messages from being processed twice.

  • If a sender retries and the same message arrives again, it is detected by its message ID.

  • Duplicates are discarded within a configured time window.

  • This helps achieve near exactly-once processing despite network retries.

Service Bus duplicate detection

Develop Azure Event-based and Message-based Solutions

Ordered processing

Service Bus Sessions

  • Service Bus Sessions enable ordered message processing.

  • Related messages share a Session ID (for example, all updates for the same order).

  • Each session is delivered to one consumer at a time.

  • Message order is preserved within a session, and the consumer can keep lightweight state.

  • Multiple sessions can be processed in parallel, while each session remains ordered.

Develop Azure Event-based and Message-based Solutions

Let's practice!

Develop Azure Event-based and Message-based Solutions

Preparing Video For Download...