Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 

Лекція 15. Windows Azure Queue. Вступ. Модель даних. REST - інтерфейс

Загальна подання

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 і його сервісів, здійснюється за допомогою облікового запису. При цьому одна обліковий запис може мати кілька черг.

• Черга. Черга містить безліч повідомлень, при цьому:

o кількість повідомлень не обмежена

o повідомлення зберігається не довше одного тижня і видаляється після закінчення цього терміну в процесі "прибирання сміття"

o з чергами можуть бути асоційовані метадані виду "ім'я - значення" розміром до 8Кб

• Повідомлення. Зберігаються в чергах. Розмір кожного повідомлення обмежений 8Кб. При необхідності зберігання більшого обсягу даних, самі дані розміщуються в табличних або бінарних сховищах, а повідомлення зберігає ім'я бінарного об'єкта, або сутності.

Рис. 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

(Для ознайомлення з повним текстом статті необхідно залогінитись)