Лазурная слабосвязанная / масштабируемая - PullRequest
0 голосов
/ 01 сентября 2011

Я боролся с этой концепцией некоторое время.Я пытаюсь придумать слабосвязанный дизайн компонентов Azure, который полностью масштабируется с использованием очередей и рабочих ролей, которые снимают очереди и обрабатывают элементы.Я могу масштабировать рабочие роли по желанию, и публикация в очереди никогда не будет проблемой.Пока все хорошо, но, похоже, единственная модель реального мира, в которой это может сработать, - это огонь и забывание.Это отлично работает для ведения журнала и других односторонних операций, но, скажем, я хочу загрузить файл с использованием очередей / рабочих ролей, сохранить его в BLOB-объекте, а затем получить ответ обратно после его завершения.Или этот тип модели не должен использоваться для онлайн-приложений?Каков наилучший способ отправить уведомление обратно после завершения операции?Я создаю ответ Q, а затем (каким-то образом) получаю связанный ответ?Любая помощь с благодарностью !!!!!

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

Я обычно делаю модель опроса.

  1. Клиент (обычно браузер) отправляет запрос на выполнение какой-либо работы.
  2. Front-end (веб-роль) ставит в очередь работу иотвечает с идентификатором.
  3. Серверная часть (рабочая роль) обрабатывает очередь и сохраняет результат в объекте BLOB-объекта или таблицы с именем.
  4. Опрос клиента ("Готово?") внекоторый интервал.
  5. Внешний интерфейс проверяет наличие объекта BLOB или таблицы и отвечает соответствующим образом.

См. http://blog.smarx.com/posts/web-page-image-capture-in-windows-azure для одного примера этого шаблона.

1 голос
/ 04 сентября 2011

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

...