A typical messaging solution exchanges data between its distributed components using message queues, which includes publishers publishing messages into queues and subscribers intended to receive messages. The subscriber can be implemented either as a single or a multiple threaded process, either continuously running or initiated on demand.
At a higher level there are two primary queuing mechanisms used to enable a queue listener (receiver) to receive messages stored on a queue:
Polling or Poll- based model: A listener monitors a queue by checking the queue at regular intervals. A listener is a part of a worker role instance. The main processing logic is comprised of a loop in which messages are dequeued and dispatched for processing. The listener checks for messages periodically. The queue is polled until the listener is notified to exit the loop. The Windows Azure pricing model measures storage transactions based on requests performed against the queue, regardless of the queue is empty or not.
Triggering or Push- based model: A listener subscribes to an event triggered either by the publisher or by the queue service manager, whenever a message arrives on a queue. Then the listener dispatches the message for processing. So, it does not have to poll the queue in order to determine whether any new work is available or not. A notification can be pushed to the queue listeners for every new message, or when the first message arrives to an empty queue, or when queue reaches a certain level. While using Windows Azure, the Service Bus volume of messaging entities like queues or topics should be considered.
Best Practices for Optimizing Transaction Costs
In a queue-based messaging solution, the volume of storage transactions can be reduced using a combination of the following methods:
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: