Опубликован: 30.05.2011 | Доступ: свободный | Студентов: 2366 / 213 | Оценка: 4.12 / 4.41 | Длительность: 12:00:00
Лекция 15:

Windows Azure Queue. Введение. Модель данных. REST - интерфейс

Аннотация: В данной лекции будут рассмотрены следующие вопросы: Windows Azure Queue - общее представление, модель данных, REST - интерфейс.

Общее представлениe

Windows Azure Queue предоставляет простой и надежные асинхронный механизм доставки сообщений. Это позволяет использовать Queue сервис в качестве инструмента интеграции между различных компонент "облачного" решения с приложениями локальной архитектуры. Azure Queue предоставляет REST - интерфейсы, позволяющие создавать приложения на различных языках программирования, обеспечивая расширяемость, интеграцию и масштабируемость создаваемых решений.

Сервисно - ориентированное приложение, построенное с использованием Azure Queue будет обладать рядом преимуществ:

  1. Возможность оценки масштабируемости на основе анализа длины очереди. Длина очереди отражает, по сути, время задержки обработки. Если размер очереди мал, это означает что арендуется больше ресурсов, чем, возможно, необходимо в данном случае. Напротив, большой размер очереди свидетельствует о явной нехватке вычислительных ресурсов и наличии издержек, связанных с задержками в обработке данных.
  2. Реализация разделения ролей. Каждая часть приложения может быть реализована на основе более подходящей технологии, без оглядки на технологии остальных компонент, поскольку сообщения в очереди могут быть как в стандартном, так и в XML - формате.
  3. Буферизация запросов. В моменты пиковой нагрузи, когда рабочие роли не справляются со всем количеством, поступающих к ним обращений, "лишние" обращения не отсеиваются а остаются в очереди. Кроме того уменьшается влияние сбоя отдельных компонент на систему в целом.

Модель данных

На рис 21.1 приведена структура данных Windows Azure Queue, полученная средствами MS SQL Server 2008.


Рис. 21.1.

Рассмотрим модель данных Windows Azure Queue более детально. Выделим основные термины:

  • Учетная запись. Любой доступ к Windows Azure Storage и его сервисам, осуществляется посредством учетной записи. При этом одна учетная запись может иметь несколько очередей.
  • Очередь. Очередь содержит множество сообщений, при этом:
    • количество сообщений не ограничено
    • сообщение хранится не дольше одной недели и удаляется по истечении этого срока в процессе "сборка мусора"
    • с очередями могут быть ассоциированы метаданные вида " имя - значение" размером до 8Кб
  • Сообщения. Хранятся в очередях. Размер каждого сообщения ограничен 8Кб. При необходимости хранения большего объема данных, сами данные размещаются в табличных или бинарных хранилищах, а сообщение хранит имя бинарного объекта, или сущности.
 Архитектура Queue сервиса Windows Azure

Рис. 21.2. Архитектура Queue сервиса Windows Azure

Параметры AzureQueue Services:

MessageID - идентификатор сообщения в очереди

VisibilityTimeout - значение времени ожидания видимости сообщения, т.е. через какой промежуток времени созданное сообщение " увидят". До 2 часов, значение по умолчанию - 30 секунд

PopReceipt -возвращаемая строка для каждого сообщения, наряду с MessageID необходима для удаления строки из очереди

MessageTTL - срок жизни сообщения в сеундах.

REST - интерфейс

Любой доступ к Windows Azure Queue осуществляется через HTTP - интерфейс REST.

К операциям HTTP\REST на уровне очередей и сообщений относятся:

Таблица 21.1. Queue - операции
Операции HTTP метод Описание
List Queues GET Выводит список очередей учетной записи
Create Queue PUT Создает новую очередь в рамках текущей учетной записи
Delete queue DELETE Удаляет очередь
Get Queue Metadata GET/HEAD Возвращает свойства очереди, включая определенные пользователем метаданные
Set Queue Metadata PUT Задает определенные пользователем метаданные очереди
Put Message POST Добавляет сообщение в очередь
Get Messages GET Извлекает сообщение из очереди и делает его невидимым для остальных клиентов
Peek Messages GET Извлекает сообщение из начала очереди без изменения visibility сообщения
Delete Message DELETE Удаляет определенное сообщение из очереди
Clear Messages DELETE Удалить все сообщения из очереди

Операции с очередями осуществляются при помощи следующего URL: http://<account>. queue .core.windows.net/<QueueName>

Операции с сообщениями осуществляются при помощи следующего URL: http://<account>. queue.core.windows.net/<QueueName>/messages

где <account> - имя учетной записи, а <QueueName> - имя очереди.

Список дополнительных материалов для самостоятельного изучения

Windows Azure Queue

  1. http://msdn.microsoft.com/ru-ru/library/ee872424.aspx

Windows Azure Worker Role и Windows Azure Queue Service

  1. http://social.technet.microsoft.com/wiki/contents/articles/windows-azure-and-sql-azure-tutorials-tutorial-4-using-windows-azure-worker-role-and-windows-azure-queue-service.aspx

REST - операции

  1. http://msdn.microsoft.com/en-us/library/dd179363.aspx

Обмен сообщениями

  1. http://www.oszone.net/13891/Windows-Azure-Storage

Обзор Windows Azure Table и Windows Azure Queue (видео)

  1. http://www.microsoftpdc.com/2009/SVC09
Роза Мальцева
Роза Мальцева
Игнат Гринько
Игнат Гринько

Примерно месяц назад получил на сайте код Дримспарк, сегодня вводил его на сайте Дримспарк, пишет: Недействительный код проверки. Проверьте правильность введенного кода. Код вводил методом: скопировать-вставить.