message queue

/ˈmes.ɪdʒ kjuː/zelfstandig naamwoord

Een message queue is een wachtrij waarin een softwaresysteem berichten tijdelijk opslaat totdat een ander onderdeel ze verwerkt. De verzender hoeft daarbij niet te wachten tot de ontvanger klaar is.

De webwinkel zet iedere nieuwe bestelling in een message queue voor de verwerking van de betaling en voorraad.

Een message queue helpt onderdelen van een softwaresysteem om asynchroon samen te werken. Het verzendende onderdeel geeft een bericht af en kan daarna verder. Het ontvangende onderdeel haalt het bericht op zodra het capaciteit heeft. De onderdelen hoeven daardoor niet op hetzelfde moment beschikbaar te zijn.

Hoe worden berichten verwerkt?

Het onderdeel dat berichten verstuurt heet de producer. Die plaatst bijvoorbeeld een opdracht om een factuur te maken in de wachtrij. Een consumer haalt de opdracht op, voert hem uit en bevestigt daarna dat het bericht is verwerkt. Een broker beheert doorgaans de wachtrij en de aflevering van berichten.

Berichten worden vaak in volgorde verwerkt, maar dat hangt af van de gekozen techniek en instellingen. Bij sommige systemen kunnen meerdere consumers tegelijk berichten ophalen. Zo kan de verwerking meegroeien wanneer er tijdelijk veel berichten binnenkomen.

Wanneer gebruik je een message queue?

Een message queue past bij werk dat niet direct klaar hoeft te zijn, zoals het versturen van e-mail, verwerken van betalingen of genereren van documenten. De wachtrij vangt korte pieken op en houdt werk vast wanneer een consumer tijdelijk niet bereikbaar is.

Een message queue vraagt ook om extra maatregelen. Een bericht kan opnieuw worden aangeboden wanneer een bevestiging uitblijft. De consumer moet hetzelfde bericht daarom zonder ongewenste gevolgen opnieuw kunnen verwerken. Ook moet je bewaken hoe lang berichten blijven staan en wat er gebeurt met berichten die na meerdere pogingen blijven mislukken.