Windows Azure Datalagring – Queues


Till slut har turen kommit till Windows Azure Queues. Se mina tidigare artiklar om Windows Azure Blobs och Windows Azure Tables för att få en överblick av alla tre datalagringkoncepten som Windows Azure erbjuder.

Precis som med Blobs och Tables kan man också i detta fall få en uppfattning om vad Queues är genom dess namngivning - köhantering.

En kö (Queue) kan med fördel användas för att skicka ett meddelande till en lyssnare för att asynkront utföra någon form av tyngre beräkning eller uppdatering. Ett typexempel är ett webbaserat fotoalbum; När en bild laddats upp registreras ett meddelande i angiven kö. En sk Worker process läser meddelandet från kön och konverterar angiven bild till korrekt format.

Köer (Queues) är ett utmärkt instrument att använda för att skala din beräkningskapacitet. Är antalet meddelanden i kön för stort kan det vara läge att öka på antalet Workers. Visar det sig att det väldigt ofta är tomt i kön, kanske du har för stor beräkningskapacitet och kan då minska antalet Workers istället.

clip_image001

Du kommer av flera olika anledningar att med stor sannolikhet kombinera Köer (Queues) med Blobs och Tables. Jag spinner vidare på exemplet ovan; Ett meddelande som du lägger i en kö kan vara max 8KB, vilket gör att jag inte kan lägga med bilden som skall konverteras i meddelandet. Jag sparar istället bilden i Blob Storage och skicka endast Blobbens identifierare i meddelandet och hämtar sedan bilden (Blobben) från dess Container.

Ett meddelande är garanterat att det läses minst en gång. När du läser ett meddelande från en Kö (Queue) så tas det inte bort från kön, vilket du säkert är van vid från traditionella köer. Istället blir meddelandet osynligt för den tidsperiod som du anger (standard är 30 sek). Om du inte raderar meddelandet inom denna tidsperiod, kommer meddelandet bli synligt igen. Detta är ett beteende vilket är väldigt viktigt att du planerar för i din applikation. Se till att utforma meddelanden och läsare på sådan sätt att samma meddelande kan ageras på flera gånger. Det innebär också att ordningen på meddelanden i en kö inte är garanterad.

-c

Va?! Ingen kod?. Tyvärr.. Sånt händer.

Skip to main content