Событийно-ориентированные архитектуры с Event Grid

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

Shahzad Mian

Content Developer, DataCamp

Введение в событийно-ориентированную архитектуру

 

Снимок экрана 2025-10-26 в 22:35:27.png

  • Современные системы постоянно генерируют события.
  • Azure Event Grid мгновенно направляет эти события нужным сервисам.
  • Это основа событийно-ориентированной архитектуры в Azure.
Разработка для Azure Storage

Событийно-ориентированная архитектура

  • Объяснить, что такое Azure Event Grid и как он работает.
    • Определить источники событий и обработчики.
    • Описать, как Event Grid поддерживает событийные рабочие процессы в реальном времени.
    • Применить эти концепции к операциям Cipher Coffee.

 

 

Event grid

1 https://azure.microsoft.com/en-us/blog/introducing-azure-event-grid-an-event-service-for-modern-applications/
Разработка для Azure Storage

Проблема: слишком много триггеров

Снимок экрана 2025-10-27 в 18:41:44.png

  • Системы Cipher Coffee постоянно генерируют события:

    • Загружается новый blob.
    • Оформляется заказ.
    • Изменяются данные о запасах.
  • Опрос — это когда приложения постоянно проверяют наличие обновлений.

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

Event Grid

Изображение Event Grid

 

 

 

  • Event Grid решает эту проблему, доставляя уведомления в реальном времени.
Разработка для Azure Storage

Что такое Event Grid?

Схема Event Grid

  • Azure Event Grid — это полностью управляемый сервис маршрутизации событий.
  • Он автоматически доставляет события от публикаторов к подписчикам.

  • Использует модель публикации-подписки:

    • Публикаторы генерируют события (например, создание blob).
    • Подписчики реагируют на эти события в реальном времени.
  • Распространённые подписчики — Azure Functions и Logic Apps.

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

Рабочий процесс события

  • Публикатор генерирует событие — например, создаётся новый blob.
  • Event Grid перехватывает это событие и направляет его подписчикам.
  • Подписчик — Azure Function или Logic App — запускается автоматически.
  • Каждое такое подключение называется подпиской на событие.

Рабочий процесс события

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

Пример Cipher Coffee

  • Маркетинговая команда Cipher Coffee загружает новое фото продукта в Blob Storage.
  • Эта загрузка запускает Event Grid.
  • Event Grid отправляет уведомление в Azure Function.
  • Function автоматически изменяет размер изображения и обновляет галерею на сайте.
  • Никаких ручных действий, никакого ожидания — мгновенная автоматизация.

Пример Cipher Coffee

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

Источники и обработчики событий

Снимок экрана 2025-10-27 в 19:16:33.png

  • Источники событий: откуда поступают события.
    • Учётные записи хранилища, группы ресурсов, Event Hubs, IoT Hubs.
  • Обработчики событий: куда доставляются события.
    • Azure Functions, Logic Apps, веб-хуки, темы Service Bus.
  • Event Grid динамически связывает их без опроса.
Разработка для Azure Storage

Схема события

  • Стандартный JSON

Снимок экрана 2025-12-03 в 15:22:25.png

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

Системные и пользовательские события

Снимок экрана 2025-10-27 в 19:38:52.png

  • Системные события: автоматически генерируются сервисами Azure.
    • Примеры: создание blob, удаление ВМ, обновление ресурса.
  • Пользовательские события: публикуются вашими приложениями.
    • Пример: сервис заказов Cipher Coffee публикует «NewOrderCreated».
  • Оба типа следуют одной и той же схеме маршрутизации событий.
Разработка для Azure Storage

Преимущества Event Grid

  • Бессерверный и масштабируемый — полностью управляемый, без необходимости обслуживать инфраструктуру.

Облачные вычисления

  • Надёжная доставка — повторные попытки и сохранение недоставленных событий при сбоях.

Рукопожатие

  • Реакция в реальном времени — доставка событий за секунды.

Часы

  • Широкая интеграция — совместимость с Functions, Logic Apps и сторонними API.

Интеграция

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

Фильтрация и маршрутизация событий

  • Event Grid может фильтровать события перед доставкой.
  • Можно задать фильтры по:
    • типу события (например, только Blob Created);
    • шаблону субъекта (например, файлы в «images/»).
  • Это гарантирует, что подписчики получают только нужные события.

Снимок экрана 2025-10-27 в 19:49:11.png

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

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

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

Preparing Video For Download...