20. January 2018
JB
Programming
In a recent programming conundrum, I was trying to find a way I could promote certain customer queries to the top of the support list compared to that of a general nature. The limitations with the azure service bus is the inability to add priority headers to packets being placed into the queue, so that was a nonstarter.
With queues, they work on a FIFO (first in first out) nature and allow developers to decouple the components that are adding items to the queue from those that are performing tasks against it.
The queue in general was great at adding items to be processed in an asynchronous nature, however with recent updates to our SLA requirements we were encountering issues where non urgent request were creating a service bottleneck in our system.
The solution that we decided to try to implement was the priority queue on the Microsoft Azure using a few message queues and multiple consumer instances against those queues.
The plan was to identify the data being processed from the producer side, and based on that generate the relevant packets and use the message router to send the packets of data to the corresponding queue. In our example, we spawn 3 types that were being used (High, Medium and Low priorities).
In essence the queue would function as normal with the producer – consumer peeking and deleting messages as they are being added to the queue. The difference and where the priority queue pattern comes into play is the number of consumers being allocated to subscribed to the particular queues. With the high priority queue, we have 5 instances competing to consumer the messages. With the medium we had 3 and with the low we had one. The result of this is that the high priority queue would be able to handle many more requests and faster than the other queues, and therefore would be able to provide a far better SLA time and meet expectations.
![priority-queue-separate](data:image/png;base64,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)
For more information on it you can read https://docs.microsoft.com/en-us/azure/architecture/patterns/priority-queue
You can also find the implementation example on Github