I am using an Azure Storage Queue and associated Worker Role to integrate a legacy system with a new system.
In brief, the legacy system sends application details to the queue, and the application details include a status such as "Pending", "Approved", "Cancelled" and "Completed".
The same application can be in the queue with different status (more than one message referring to same application).
If we scale up the Worker Role instance to 2, it is possible to process different statuses of the same application by two different worker roles. - Instance 1 process message with application status "Pending" - Instance 2 process message with application status "Approved"
I want to handle FIFO to messages with same application details even if there are many worker roles.
I am looking for an implementation method that will allow scaling of my Worker Roles whilst ensuring that I can sequentially process messages that relate to a given application.