Introduction
Queues provide a way to decouple the connection between two actors, interconnecting heterogeneous systems by message-driven contact points. The producing actor inserts a message containing the details of the request into the queue. The consuming actor polls the queue and upon getting the message, performs the associated task. If necessary, the consuming actor can insert a message in another queue indicating completion of the task.
A more general view is that a generic queue service provides a way to manage the processing of a task so that it is more robust against failure. Azure is a scalable system and it is possible that a component of the system could fail at any time, causing the loss of any work in progress. The extent of this loss can be minimized by breaking the task into individual steps. The loss of work-in-progress for an individual step is less significant than that of the overall task. A queue service supports this functionality by providing a coherent way to track...