About this chapter
You have learned the whole model: producers and consumers, queues and exchanges, routing,
acknowledgements, reliability, a Laravel driver, and production operations. This final
chapter puts it to work. First you'll build a complete Docker stack - a Laravel app,
a RabbitMQ broker and a queue worker - that ties every idea together in one runnable
docker-compose.yml. Then a map of the messaging patterns so you can name what you're
building. The rest of the chapter is troubleshooting: the four problems you will actually
Google, each stated in the exact words you'll type into the search box, with how to
diagnose it and how to fix it.
Lessons from courses
- 1 A Laravel + RabbitMQ Docker stack A full annotated docker-compose.yml running a Laravel app, RabbitMQ and a queue worker, with the .env wiring, a data volume and service-name networking.
- 2 Messaging patterns A map of the core RabbitMQ messaging patterns - work queue, pub/sub, routing, RPC and delayed messages - and which course chapter taught each one.
- 3 RabbitMQ connection refused Fix RabbitMQ 'Connection refused' / ECONNREFUSED on port 5672: broker not running, wrong host, wrong port or bad credentials. Diagnose it step by step.
- 4 RabbitMQ unacked messages piling up Fix RabbitMQ unacked messages piling up: a consumer took messages but never acknowledged them. Spot the cause in the UI and fix forgotten acks or a bad prefetch.
- 5 RabbitMQ consumer not receiving messages Fix a RabbitMQ consumer that connects but receives no messages: wrong queue name, missing binding, wrong routing key, unbound exchange or wrong vhost.
- 6 RabbitMQ memory alarm and blocked publishers Fix RabbitMQ publishers hanging with connection.blocked: a memory or disk alarm triggered flow control. Free resources or raise the watermark to unblock.