Whether you call them “microservices”, “service oriented architecture”, or just “distributed systems”, there is a lot of value to be found in smaller software parts that easily compose into something larger.
RabbitMQ – a message broker and messaging system – makes it easy to build these small parts, and run them with the speed and efficiency of the Erlang language (originally designed for handling financial transactions in stock brokerage firms).
With this guide, you'll see what it takes to get up and running with RabbitMQ in your Node.js applications, and to build and scale applications and services with messaging patterns.
From installation and management, to the core patterns you need and information on where to look next, you'll find everything you need.
Part 1: The Basics
Get up and running with RabbitMQ quickly. Learn the core parts of this service and how it works, by sending a message directly through the web management interface.
RabbitMQ – Installation & Management
Part 2: Messaging With Node.js
Starting with the raw RabbitMQ library, amqplib, you'll learn how to send and receive messages with RabbitMQ, and more.
Take that basic knowledge and learn how to apply some of the most common messaging patterns around, with Send/Receive, Publish/Subscribe, and Request/Reply.
Then move beyond the patterns to integrate this functionality into a simple Express.js web application, providing background processing and status updates.
RabbitMQ For NodeJS
RabbitMQ Send & Receive w/ amqplib
Send/Receive with RabbitMQ and Wascally
Request / Reply with RabbitMQ and Wascally
Long Running Processes with RabbitMQ
Hiding RabbitMQ Details From Your App
Background Process Status Updates Through RabbitMQ
Handling Application Crashes w/ RabbitMQ
Not a WatchMeCode member?
Join now and get instant access to everything!
Part 3: A Microservice for Publishing Analytics Data
Now that you know the core of RabbitMQ and writing code for it, it's time to put this into a production application.
In the series on building analytics, RabbitMQ is used to offload the real work of manipulating the data and publishing it to the analytics service.
This allows your front-end application or HTTP API to respond nearly instantly, while doing more complex and potentially error-prone work in the background.
Analytics and Tracking
Analytics and Tracking w/ Keen.io
Analytics Background Process w/ RabbitMQ
Analytics Service Cleanup – Error Reporting
Restructuring Analytics Code
Analytics – Geo and User Agent Info
Analytics – Handling Byte Range Requests
Analytics – Extract The Tracking Code
Analytics – Tracking Download Type
Part 4: Master the “Why?” of RabbitMQ's Topology and Patterns
Beyond the basic patterns and use of RabbitMQ, there are a lot of questions on when you would use a given exchange type, why you would want more than one consumer or queue, and what patterns should be explored next.
WatchMeCode's 2 eBooks on RabbitMQ provide the answers you need, with insight and experience that no other RabbitMQ resource comes close to matching.
Part 5: Beyond The Code – What's Next?
With a strong understanding of RabbitMQ and the messaging patterns you need to know, there will come a time when you wonder what's next. What else can these tools do for you, and how can you truly take your architecture to the next level?
The RabbitMQ interview series – 6 interviews with experts from around the world – will show you the paths to take, from handling failure, to scaling and production, and more.