Использование очередей Azure Storage

Разработка для Azure Storage

Shahzad Mian

Content Developer, DataCamp

Введение в очереди хранилища

  • Очереди хранилища — это служба очередей сообщений.
  • Приложения нередко обрабатывают множество запросов одновременно.
  • Ожидание завершения каждого процесса замедляет работу системы.
  • Очереди Azure Storage обеспечивают асинхронное взаимодействие между компонентами.
  • Асинхронный обмен сообщениями помогает поддерживать скорость и масштабируемость.

Решение проблем с помощью очереди хранилища

Разработка для Azure Storage

Реальная задача

Проблема и решение при накоплении заказов

  • Интернет-магазин Cipher Coffee принимает сотни заказов одновременно.
  • Без очередей каждый заказ ждал бы завершения предыдущего.
  • Очереди позволяют мгновенно принимать заказы, а обработку откладывать.
  • Сайт остаётся быстрым, а клиенты — довольными.
Разработка для Azure Storage

Что такое очередь?

  • Очередь — это список ожидания для обработки сообщений.
  • Сообщения обрабатываются по порядку: первым пришёл — первым вышел.
  • Каждое сообщение представляет небольшую единицу работы.
  • После обработки сообщение удаляется из очереди.

Схема очереди

Разработка для Azure Storage

Как работают очереди Azure Storage

Пояснение к очереди

  • Очереди Azure Storage входят в состав учётной записи хранилища.
  • Сообщения объёмом до 64 КБ хранятся надёжно.
  • Приложения могут:
    • Отправлять сообщения в очередь.
    • Получать и обрабатывать сообщения.
    • Удалять сообщения после обработки.
  • Сообщения сохраняются даже при перезапуске системы.
Разработка для Azure Storage

Асинхронный рабочий процесс

 

 

Асинхронный рабочий процесс

  • Отправитель добавляет сообщение, например «Обработать платёж за Order 2045».
  • Фоновая служба, например Azure Function, извлекает сообщение.
  • После успешной обработки сообщение удаляется.
  • Этот шаблон обеспечивает масштабируемость и отзывчивость под нагрузкой.
Разработка для Azure Storage

Cipher Coffee в действии

  • Сайт Cipher Coffee отправляет сообщение о заказе в очередь.
  • Система выполнения заказов считывает сообщение из очереди.
  • Сообщение инициирует обновление базы данных и платёжной системы.
  • Бариста получают уведомления, не замедляя оформление покупки.

Процесс обработки заказа

Разработка для Azure Storage

Преимущества очередей

  • Разделение: системы работают независимо друг от друга.
  • Масштабируемость: добавляйте обработчики для ускорения.
  • Надёжность: сообщения сохраняются даже при сбоях.
  • Интеграция: совместимость с Azure Functions и Logic Apps.

Независимая система

Масштабируемая система

Надёжная система

Screenshot 2025-10-27 at 5.42.20 pm.png

Разработка для Azure Storage

Жизненный цикл сообщения

Screenshot 2025-10-27 at 5.48.34 pm.png

  • Сообщение проходит три основных этапа:
    • Постановка в очередь: сообщение добавляется в очередь.
    • Извлечение из очереди: обработчик получает сообщение.
    • Удаление: сообщение удаляется после успешной обработки.
  • Сообщения с ошибкой автоматически возвращаются для повторной попытки.
Разработка для Azure Storage

Типичные сценарии применения

  • Обработка заказов и фоновый биллинг.

Иконка заказа

  • Отправка уведомлений по электронной почте.

Иконка письма

  • Буферизация телеметрии IoT.

Иконка IoT

  • Сбор журналов и конвейеры событий.
    • Используйте очереди для независимых операций с поддержкой повторных попыток.
    • И многое другое.
Разработка для Azure Storage

Очереди и Service Bus

  • Azure Service Bus применяется для сложных сценариев обмена сообщениями.
  • Service Bus поддерживает:
    • Упорядочение сообщений и сессии.
    • Транзакции, разделы и подписки.
  • Azure Storage Queues проще и выгоднее для лёгких рабочих нагрузок.
  • Cipher Coffee использует очереди для обработки заказов и обновлений в реальном времени.

Screenshot 2025-10-27 at 6.13.37 pm.png

Разработка для Azure Storage

Давайте потренируемся!

Разработка для Azure Storage

Preparing Video For Download...