In this outstanding work, two experts share their years of experience running large-scale RabbitMQ systems.
RabbitMQ in Action is a fast-paced run through building and managing scalable applications using the RabbitMQ messaging server. It starts by explaining how message queuing works, its history, and how RabbitMQ fits in. Then it shows you real-world examples you can apply to your own scalability and interoperability challenges.
about this book
about the cover illustration
1. Pulling RabbitMQ out of the hat
1.1. Living in other people’s dungeons
1.2. AMQP to the rescue
1.3. A brief history of RabbitMQ
1.4. Picking RabbitMQ out of the hat (and other open options)
1.5. Installing RabbitMQ on Unix systems
2. Understanding messaging
2.1. Consumers and producers (not an economics lesson)
2.2. Building from the bottom: queues
2.3. Getting together: exchanges and bindings
2.4. Multiple tenants: virtual hosts and separation
2.5. Where’s my message? Durability and you
2.6. Putting it all together: a day in the life of a message
2.7. Using publisher confirms to verify delivery
3. Running and administering Rabbit
3.1. Server management
3.2. Asking permission
3.3. Checking up
3.4. Fixing a bad Rabbit: troubleshooting
4. Solving problems with Rabbit: coding and patterns
4.1. A decoupling story: what pushes us to messaging
4.2. Fire-and-forget models
4.3. Remember me: RPC over RabbitMQ and waiting for answers
5. Clustering and dealing with failure
5.1. Batteries included: RabbitMQ clustering
5.2. Architecture of a cluster
5.3. Setting up a cluster on your laptop
5.4. Distributing the nodes to more machines
5.5. Upgrading cluster nodes
5.6. Mirrored queues and preserving messages
6. Writing code that survives failure
6.1. Load balancing your Rabbits
6.2. Lost connections and failing clients between servers
7. Warrens and Shovels: failover and replication
7.1. Warrens: another way of clustering
7.2. Setting up load balancer–based master/slave clusters
7.3. Long-distance communication and replication
8. Administering RabbitMQ from the Web
8.1. Beyond rabbitmqctl: the RabbitMQ Management plugin
8.2. Managing RabbitMQ from the web console
8.3. Managing users from the web console
8.4. Managing exchanges and queues from the web console
8.5. Back to the command line
9. Controlling Rabbit with the REST API
9.1. What can you do with the RabbitMQ REST API?
9.2. Granting your clients access
9.3. Accessing statistics
9.4. Automating vhost and user provisioning
10. Monitoring: Houston, we have a problem
10.1. RabbitMQ monitoring: keeping an eye on your warren
10.2. Making sure consumers are consuming
11. Supercharging and securing your Rabbit
11.1. The need for speed
11.2. Memory usage and process limits
11.3. SSL connections
12. Smart Rabbits: extending RabbitMQ
12.1. RabbitMQ plugins
12.2. Making your own plugins
12.3. Creating your custom exchange module
Appendix A: Using Rabbit from Java and .NET
Appendix B: Online resources
Appendix C: Installing RabbitMQ on Windows
About the Technology
There's a virtual switchboard at the core of most large applications where messages race between servers, programs, and services. RabbitMQ is an efficient and easy-to-deploy queue that handles this message traffic effortlessly in all situations, from web startups to massive enterprise systems.
About the book
RabbitMQ in Action teaches you to build and manage scalable applications in multiple languages using the RabbitMQ messaging server. It's a snap to get started. You'll learn how message queuing works and how RabbitMQ fits in. Then, you'll explore practical scalability and interoperability issues through many examples. By the end, you'll know how to make Rabbit run like a well-oiled machine in a 24 x 7 x 365 environment.
- Learn fundamental messaging design patterns
- Use patterns for on-demand scalability
- Glue a PHP frontend to a backend written in anything
- Implement a PubSub-alerting service in 30 minutes flat
- Configure RabbitMQ's built-in clustering
- Monitor, manage, extend, and tune RabbitMQ
About the reader
Written for developers familiar with Python, PHP, Java, .NET, or any other modern programming language. No RabbitMQ experience required.
placing your order...Don't refresh or navigate away from the page.
Well-written, thoughtful, and easy to follow.
Soup to nuts on RabbitMQ; a wide variety of in-depth examples.
This book will take you to a messaging wonderland.