Пользовательские темы, фильтрация и повторные попытки

Разработка решений на основе событий и сообщений в Azure

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

Что вы узнаете

  • Домены Event Grid
  • Расширенная фильтрация
  • Недоставленные сообщения
    • Настройка повторных попыток

Домен Event Grid

Разработка решений на основе событий и сообщений в Azure

Домены Event Grid

Домен Event Grid

Разработка решений на основе событий и сообщений в Azure

Домен и пользовательская тема

Домен

  • Управляет множеством изолированных тем
  • Охватывает несколько:
    • Приложений
    • Команд
    • Тенантов
  • Разделяет клиентов между собой

Пользовательская тема

  • Самостоятельная тема
  • Сценарий с одним издателем
  • Рассчитана на небольшое число потребителей

Домен Event Grid

Тема Event Grid

Разработка решений на основе событий и сообщений в Azure

Расширенная фильтрация

  • Фильтры доставляют подписчику только нужные события.

  • Фильтры по префиксу и суффиксу субъекта удобны для путеподобных субъектов.

    • Например, /sales/ или .jpg.
  • События можно также фильтровать по типу события.

  • Расширенные фильтры поддерживают сравнения: больше, меньше, содержит.

  • Несколько фильтров объединяются по принципу логического И для точного управления.

Расширенная фильтрация

Разработка решений на основе событий и сообщений в Azure

Недоставленные сообщения в Event Grid

  • Event Grid поддерживает очередь недоставленных сообщений как защитный механизм.

  • Если доставка не удалась после всех повторных попыток, событие не теряется.

  • Недоставленные события записываются в контейнер хранилища недоставленных сообщений.

  • Контекст ошибки сохраняется для проверки и аудита.

  • События можно воспроизвести позднее с помощью рабочего процесса восстановления.

Недоставленные сообщения Event Grid

Разработка решений на основе событий и сообщений в Azure

Повторные попытки и выдержка

  • Event Grid использует экспоненциальную выдержку при повторных попытках доставки.

  • Интервал между попытками увеличивается после каждого сбоя.

  • Каждая подписка на событие имеет настраиваемую политику повторных попыток.

  • Можно задать максимальное число попыток доставки и время жизни (TTL).

  • Выбирайте параметры повторных попыток исходя из последствий задержки или потери событий.

Экспоненциальная выдержка

Разработка решений на основе событий и сообщений в Azure

Гарантии доставки

Гарантии доставки

  • Event Grid обеспечивает доставку не менее одного раза.

  • Дубликаты возможны, а глобальный порядок не гарантируется.

  • Эти гарантии распространяются на системные и пользовательские события.

  • Разница состоит в том, кто является издателем.

  • При системных событиях факты публикует Azure.

  • При пользовательских событиях вы публикуете факты сами и должны самостоятельно обеспечивать дедупликацию.

Разработка решений на основе событий и сообщений в Azure

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

Разработка решений на основе событий и сообщений в Azure

Preparing Video For Download...