Azure Service Bus

Azure Service Bus

Azure Service Bus is a robust cloud messaging service built to enhance communication between applications and services within an organization.

It decouples applications and services, allowing message producers and consumers to operate independently without needing to be online simultaneously, thereby improving system resilience and scalability.

Being a Paas (Platform As A Service), users don`t need to worry about the infrastructure as the Azure takes care of it. For instance:

  • Hardware failures
  • Updating the OS
  • Managing the disk space
  • Handling backups

This solution enables businesses to exchange messages seamlessly, ensuring reliable and asynchronous communication across different system components. With features like message queues, topics, and subscriptions, Azure Service Bus facilitates efficient message routing and load balancing, supporting more scalable and streamlined application architectures.

Data and Messages

Data is exchanged between various applications and services through messages.

A message serves as a container that includes both metadata and the data itself. Data can be of any format - encoded , pdf, text, XML,Json etc.,

ASB covers the following messaging scenarios

  • Messaging. Transfer business data, such as sales or purchase orders, journals, or inventory movements.
  • Decouple applications.Sender and Receiver need not be online during the message transmission
  • Load balancing. Multiple consumers can read the message from queue or topic simultaneously, retaining the ownership of the messages.
  • Transactions. Allows to consolidate all the operations in one transaction - Picking the message, moving to another queue, retrying the message etc can be in one transaction. The end response will be visible only when the E2E process is success.
  • Message sessions. Strict message ordering or message deferral.


Service Bus Concepts:

Queues:

  • First In, First Out?(FIFO) message delivery to one or more consumers
  • Receivers typically receive and process messages in the order in which they were added to the queue.
  • One message consumer receives and processes each message
  • Producers (senders) and Consumers (receivers) don't have to send and receive messages at the same time, because messages are stored durably in the queue. Furthermore, the producer doesn't have to wait for a reply from the consumer to continue to process and send messages.
  • Messages are sent based on the timestamp arrival
  • They are held durably on the storage if the zone redundancy is enabled.

Queue FIFO

Topics

While a queue is used for one to one communication, topics are useful in publish-subscribe scenarios.

One Topic can have multiple subscriptions . Subscription can be thought of a virtual queue . They hold the messges until the expiry limit is set.

A subscription can also have a filter to define the condition of the message it should receive.


TOPICS and SUBSCRIPTIONS


Namespaces

Container for all the Service Bus entities.

It can have multiple queues and multiple topics.

Advanced features:

Message sessions:

Using Sessions, FIFO is guaranteed for Queues and Topics. This also helps to implement request-response pattern.

Auto-forwarding:

When enabled, the message in the queue is automatically forwarded to another queue using FIFO order. The queues are in the same namespace and not from another namespace.

Dead-Lettering Queue or Topic:

Secondary subqueue,

DLQ holds messages that can't be delivered to any receiver, or messages that can't be processed. These can be later removed to investigate.

Scheduled delivery:

Submit messages to a queue or topic for delayed processing.

Message deferral:

If the message need not be processed due to special circumstances in the application, it can be deferred to a later stage. So the message remains in the queue or topic but set aside for later processing.

Transactions:

Grouping one or more operations in a single transaction together in a scope.

Filters and actions:

Subscriptions in the topic can define which message they wanted to receive from the topic. This is implemented using the Filter - 2 types SQL and Correlation Filter.

Auto-delete on idle:

The queue will be deleted after specific idle time. This is useful when there is a traffic on the queue.

Duplicate detection:

If the same message is sent again during retry, this feature discards the duplicate message ensuring the consumer doesnt receive the same message.

Batch delete of Messages:

Delete the expired messages in batch.

Security:

Saas, RBAC and managed identities.

Geo-disaster recovery:

During the downtime of azure datacenter, this feature enables the data processing to continue

in a different region.



要查看或添加评论,请登录

Anitha Eswaran的更多文章

  • Customer Discovery

    Customer Discovery

    In continuation to the previous post of Solution architect journey, let us now understand what is Customer discovery…

  • Handling Business events error in Power Platform enabled VM

    Handling Business events error in Power Platform enabled VM

    When the Dev VM is linked to Power Platform, we might face issues when confuguring Business events using Event Grid or…

    2 条评论
  • Pillars of a great architecture

    Pillars of a great architecture

    Cloud technology has transformed the way organizations design and implement business applications. As a result…

  • Skills needed for Solution architect

    Skills needed for Solution architect

    A Solution Architect not only gains technical expertise from various assignments but also hones essential soft skills…

    1 条评论
  • Solution Architects: Bridging Business Needs with Technical ExcellencE

    Solution Architects: Bridging Business Needs with Technical ExcellencE

    I have recently finished MB700 and the MS Learn articles for preparing the certification played a major role in…

    2 条评论
  • Upgrades, Updates, and Hotfixes -

    Upgrades, Updates, and Hotfixes -

    When moving to the new version in Dynamics Ecosystem, Upgrade , Update and Hotfixes are part of this process. The…

    2 条评论
  • Discover the latest in D365FO 10.0.43

    Discover the latest in D365FO 10.0.43

    Preview of release: January 2025 General availability of release (self-update): March 2025 General availability of…

  • Blueprint for Success: Key Insights from the Solution Blueprint Workshop

    Blueprint for Success: Key Insights from the Solution Blueprint Workshop

    A reliable solution blueprint is crucial for successful implementation, as it lays the foundation for the solution's…

  • Key Players in a Successful D365FO Implementation

    Key Players in a Successful D365FO Implementation

    With the scope of FO large implementation, various roles with diverse skills and expertise are requried for delivering…

    1 条评论
  • Importance of Fit Gap Analysis

    Importance of Fit Gap Analysis

    What is FGA ? Fit gap analysis is a process to identify what should be done and assess the importance and complexity…

社区洞察

其他会员也浏览了