Contents


foreword
preface
acknowledgments
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
Summary
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
Summary
Chapter 3 Running and administering Rabbit
Server management
Asking permission
Checking up
Fixing a bad Rabbit: troubleshooting
Summary
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
Summary
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
Summary
Chapter 6 Writing code that survives failure
Load balancing your Rabbits
Lost connections and failing clients between servers
Summary
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
Summary
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
Summary
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
Summary
Chapter 10 Monitoring: Houston, we have a problem
RabbitMQ monitoring: keeping an eye on your warren
Making sure consumers are consuming
Summary
Chapter 11 Supercharging and securing your Rabbit
The need for speed
Memory usage and process limits
SSL connections
Summary
Chapter 12 Smart Rabbits: extending RabbitMQ
RabbitMQ plugins
Making your own plugins
Creating your custom exchange module
Summary
 
appendix A Using Rabbit from Java and .NET
appendix B Online resources
appendix C Installing RabbitMQ on Windows
index