about this book
about the cover illustration
Chapter 1 Pulling RabbitMQ out of the hat
Living in other people’s dungeons
AMQP to the rescue
A brief history of RabbitMQ
Picking RabbitMQ out of the hat (and other open options)
Installing RabbitMQ on Unix systems
Chapter 2 Understanding messaging
Consumers and producers (not an economics lesson)
Building from the bottom: queues
Getting together: exchanges and bindings
Multiple tenants: virtual hosts and separation
Where’s my message? Durability and you
Putting it all together: a day in the life of a message
Using publisher confirms to verify delivery
Chapter 3 Running and administering Rabbit
Server management
Asking permission
Checking up
Fixing a bad Rabbit: troubleshooting
Chapter 4 Solving problems with Rabbit: coding and patterns
A decoupling story: what pushes us to messaging
Fire-and-forget models
Remember me: RPC over RabbitMQ and waiting for answers
Chapter 5 Clustering and dealing with failure
Batteries included: RabbitMQ clustering
Architecture of a cluster
Setting up a cluster on your laptop
Distributing the nodes to more machines
Upgrading cluster nodes
Mirrored queues and preserving messages
Chapter 6 Writing code that survives failure
Load balancing your Rabbits
Lost connections and failing clients between servers
Chapter 7 Warrens and Shovels: failover and replication
Warrens: another way of clustering
Setting up load balancer–based master/slave clusters
Long-distance communication and replication
Chapter 8 Administering RabbitMQ from the Web
Beyond rabbitmqctl: the RabbitMQ Management plugin
Managing RabbitMQ from the web console
Managing users from the web console
Managing exchanges and queues from the web console
Back to the command line
Chapter 9 Controlling Rabbit with the REST API
What can you do with the RabbitMQ REST API?
Granting your clients access
Accessing statistics
Automating vhost and user provisioning
Chapter 10 Monitoring: Houston, we have a problem
RabbitMQ monitoring: keeping an eye on your warren
Making sure consumers are consuming
Chapter 11 Supercharging and securing your Rabbit
The need for speed
Memory usage and process limits
SSL connections
Chapter 12 Smart Rabbits: extending RabbitMQ
RabbitMQ plugins
Making your own plugins
Creating your custom exchange module
appendix A Using Rabbit from Java and .NET
appendix B Online resources
appendix C Installing RabbitMQ on Windows