Использование таких сообщений, как RabbitMQ, в веб-приложении? - PullRequest
15 голосов
/ 24 мая 2011

Я хотел бы узнать, в каких сценариях / сценариях использования / где такие сообщения, как RabbitMQ, могут помочь потребительским веб-приложениям.

Есть ли какие-то конкретные ресурсы для изучения?

Какие веб-приложения в настоящее время используют такие схемы обмена сообщениями и как?

Ответы [ 2 ]

11 голосов
/ 16 июня 2011

Как правило, шина сообщений (например, RabbitMQ, но не ограничиваясь ими) обеспечивает надежную очередь обработки заданий.

Что для вас означает с точки зрения веб-приложения, возможность масштабированияВаше приложение по мере роста спроса и обеспечения быстрого и отзывчивого пользовательского интерфейса.

Вместо того, чтобы заставлять пользователя ждать, пока выполняется задание, он может запросить выполнение задания (например, нажав кнопку на веб-странице, чтобы начать перекодирование видеофайла на вашем сервере), которое отправляетотправьте сообщение на вашу шину, давайте подождем, пока бэкэнд-служба подберет его, и, возможно, уведомит пользователя о том, что работа началась / начнется.Затем вы можете вернуть управление в пользовательский интерфейс, чтобы пользователь мог продолжить работу с приложением.

В этой ситуации ваш веб-интерфейс не требует значительных усилий, вместо этого просто предоставляя пользователю возможность видеть этапы процесса, пока высочтите нужным (например, задание может постепенно обновлять записи базы данных в соответствии с состоянием процесса, которое вы можете запрашивать и отображать для вашего пользователя).

Я бы предположил, что любое веб-приложение, которое получает какой-либо значительный трафик, имеет такую ​​инфраструктуру.Хотя есть и недостатки (сбои в работе сети могут потенциально нарушить доставку сообщений, более сложную инфраструктуру и т. Д.), Преимущества масштабирования бэкэнда становятся все более очевидными.Если вы используете облачные сервисы, этот тип инфраструктуры упрощает добавление дополнительных обработчиков сообщений для обработки ваших заданий, подписываясь на очередь заданий и просто выбирая сообщения для обработки.

7 голосов
/ 24 мая 2011

Я только что сделал поиск в Google и обнаружил следующее:

Это должно помочь вам начать, по крайней мере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...