RabbitMQ на PHP

2012-09-18
Иногда в веб-приложениях появляется необходимость выполнить сложные ресурсоемкие задачи, которые не могут быть умещены в коротком временном интервале HTTP запроса. В этом случае на помощь приходят очереди. Основная идеы очередей - избежать выполнения ресурсоемких задач непосредственно после отправки запроса. Вместо этого задача ставится в очередь для последующего выполнения в асинхронном режиме. Т.е. при получении запроса от клиента мы инкапсулируем задачу как сообщение и отправляем его в очередь, а уже обработчик очереди достает сообщения в порядке их следования и обрабатывает надлежащим образом.
Забегая вперед, скажу, что возможен режим работы очередей, когда при наличии нескольких копий обработчика, следующся задач будет поступать на свободный обработчик. Таким образом достигается распараллеливание выполнения задач.

Введение
Урок 1. "Hello world!"
Урок 2. Распределенные очереди
Урок 3. Рассылка публикаций
Урок 4. Селективная рассылка
Урок 5. Рассылка по шаблону
Урок 6. Реализация RPC шаблона