The Stuff That Every Developer Should Know About Message Queues

Dunith Danushka
Tributary Data
Published in
11 min readDec 14, 2020

--

Whether you are a novice or a seasoned IT professional, you’ll get to work with a message queue someday. This article is an attempt to collect everything you need to know about message queues for designing and building asynchronous, scalable, and reliable solutions with message queues.

A visual version of this article is available as a YouTube video as well. Check that out here if you are interested.

The basics

A queue

A queue is a data structure that mimics a real word queue. For example, you can think of a group of people lined up to receive something or vehicles queued at a toll gate on a highway. A queue has two ends, the head, and the tail, where two operations are performed on them. Items are added from the tail of the queue and removed from the head. A queue maintains a FIFO order so that the first item added to the queue will be the first one to be removed.

A message queue

A message queue is a queue full of messages, designed based on the principles explained above.

Messages are stored on the queue until they are processed and deleted. The parties who put messages into the queue are called producers while the parties who remove messages from the queue are…

--

--

Dunith Danushka
Tributary Data

Editor of Tributary Data. Technologist, Writer, Senior Developer Advocate at Redpanda. Opinions are my own.