Chapter 4. Solving problems with Rabbit: coding and patterns
This chapter covers
- Designing applications toward messaging
- Messaging patterns
- Fire-and-forget models
- RPC with RabbitMQ
At this point you know how to install, configure, and even run Rabbit in production. It’s about time we got to some coding. First, you need to understand problems you’re trying to solve when you code messaging into your apps. Like a lot of people who discover RabbitMQ, your lovable authors weren’t looking for a message queue; we were looking to solve a decoupling problem. How do you take a time-intensive task and move it out of the app that triggers it (thereby freeing that app to service other requests)? Also, how do you glue together applications written in different languages like PHP and Erlang so that they act as a single system? These seem like two different problems but they have a common kernel: decoupling the request from the action. Or put another way, both problems demand moving from a synchronous programming model to an asynchronous one.