UPDATE: The RabbitMQ For Developers package is now available!
Pick up your copy of The RabbitMQ For Developers bundle, and get all 6 interviews, 12 screencasts, an eBook and so much more!
A few months ago, I started working on a screencast series for WatchMeCode that covers RabbitMQ – a great little messaging system that allows you to quickly and easily write distributed applications by using message queues. The screencast series is done, and it’s been a rather popular one already. But I also realize that there’s a lot of additional information out there, that would be very useful for other developers to have.
When it comes to figuring out how to organize your RabbitMQ topology – that is, the exchanges, queues and bindings – there isn’t a lot of information around. You can get a few bits of info from a dozen sources and put it all together with trial and error to see how things work best, but there hasn’t been a single place to go to for this info.
There is also a lot of expert knowledge on what messaging can do for you, in the minds of other developers that are working in this space. People that are working in RabbitMQ and other messaging systems are using messages to do some amazing things.
I want to bring more of this knowledge to the rest of us – the “it depends…” that developers, architects and experts in the world of message based architectures collect over years of experience. So I am.
The Bundle With All Of This
With all that in mind, I am working on building a package that will be available to everyone, to help you get up and running with RabbitMQ quickly!
You will learn the how-to’s of working with RabbitMQ and using NodeJS to send / receive messages. You’ll learn the why-to’s of each exchange type with RabbitMQ, and why you may or may not want to use a specific option in a specific scenario. You’ll see interviews with industry experts, authors and developers that work with RabbitMQ on a daily basis. And you’ll receive some extra bonus materials – things that I’m not yet ready to announce!
With all of these resources coming together, this will certainly be a high value package for any developer that is working with RabbitMQ or is curious about where and why they would want to work with RabbitMQ.
I have the screencasts, which I’ve already released to my WatchMeCode subscribers. These screencasts are aimed at NodeJS developers that want to get up and running with distributed systems very quickly. I’ll walk you through the installation, basic configuration and use of RabbitMQ with NodeJS and ExpressJS applications. It’s a 12 episode, multi-hour long series of screencasts that builds on each other as it goes.
The screencasts (only 3 of the 12 shown here) are done and in the bag, already. Any subscriber to WatchMeCode will already have access to these – but not to the rest of the material! The eBook, the interviews and the bonuses that I have planned are going to be saved for the full package when it releases.
Over the last month or so, I’ve been working on my own eBook that is tackling the problem of figuring out your options with RabbitMQ, trying to understand which of the many exchange types is the best one for a given scenario, etc. I’ve got the eBook about 90% done at this point, and should be finishing it soon.
This isn’t just another technical book with lots of boring detail about API’s, though. Sure, I do cover a few technical bits when it comes to understanding the different types of exchanges. But the majority of this book – and the real value that it offers – is a very different approach to teaching technical content.
From the books’ preface, and “about this book”:
Rather than providing a strictly technical approach to show you how to use RabbitMQ, part 2 takes a story-telling approach to guide you through the decision making paths of real world projects and systems. Through a narrative style that puts you in the mind of another developer, you will see the struggles, the success and some of the failures in designing a message based system with RabbitMQ.
Chapter 5 will show a sample job scheduling application, following a developer through a decision to implement RabbitMQ and organize it appropriately. The running jobs in the schedule can be put in to various states through an administrative web application, but how should the queues and exchanges be organized to facilitate this? The inspiration for the solution seems to come out of nowhere.
Chapter 6 follows a developer through the often painful process of discovering and documenting performance problems, and finding solutions to the issue. RabbitMQ is already in place, in this case, but was it the right thing to do? Should RabbitMQ be taken out of the equation in order to reduce the latency between requesting a download and actually sending the file back to the user? Find out whether or not RabbitMQ makes the cut in this story of struggling to improve the performance of a file sharing service.And there’s far more to the book than just these 2 chapters. I’ve got several more written already, and at least one more to come – all with the goal of putting you inside the mind of another developer as they learn, struggle, succeed and sometimes fail their way in to a solid RabbitMQ structure.
In the last few weeks, I have also been scheduling and recording interviews with experts in the world of messaging based architectures. The list of people that I am interviewing is quite impressive already, and it’s still growing. I have persons from some very large and notable companies, authors of some of my favorite books, frameworks and plugins, developers and architects that are leading their team down a very successful path with messaging, and more!
These interviews are each focused on a specific area of expertise for every guest. From architectural concepts like CQRS, to long running “transactions” in Sagas, error handling and failures to production requirements for RabbitMQ, these interviews will provide a new level of insight in to what RabbitMQ can and should do for you, your current applications and beyond.
Shut Up And Take My Money!
Sorry, but I can’t just yet…
There’s a lot of work left to make sure this is the best possible package to help you get up and running quickly. I’m working on it as fast as I can! But, it will be a few more weeks before the raw material is complete, and possibly a few weeks after that to ensure everything is packaged properly. But it’s coming… and it will be here soon!