Message Queues are now popping up all over the place – either by themselves as important building blocks of complex applications, or as an integral part of patterns like event driven architecture. Despite never hearing about them during the early years of my career, there's now a lot of names floating about, like Apache Kafka, RabbitMQ, ActiveMQ, ZeroMQ, Google Cloud Pub/Sub, and the grandparents of them all, AWS SNS & SQS. But what are they? Why are they useful? And how do we use them effectively?
This is a The Little Guide to Message Queues, with a focus on the serverless offerings on Amazon Web Services (AWS). The Simple Notification Service (SNS) and Simple Queue Service (SQS) are both fully managed systems that are hosted and run by AWS, so customers can use them at whatever capacity they need and pay per message or API request. We're looking at these tools because they have stood the test of time and work effectively at massive scales; while still being cost-effective, simple to understand, and easy to use. The concepts we'll talk about are universal, though, and most self hosted messaging systems and those on any cloud infrastructure provider will offer similar interfaces and methods of using them.
In this guide, we'll talk about:
This is a short booklet, and not meant to be a comprehensive guide to anything – my aim is more to introduce you to ideas and concepts that I've found helpful, and provide links to more information as much as possible.
The book is still a work in progress, so do get in touch at email@example.com or @sudhirj if there's anything you think should be included or changed. The book will be freely available until it's finished and I haven't figured out the final price yet, but you can buy it early for $5.