Введение в Azure Service Bus

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

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

Queue Storage и Service Bus

Queue Storage

  • Простой список задач
  • Без расширенных функций
  • Каждое сообщение обрабатывается один раз

Service Bus

  • Корпоративный мессенджер
  • Надёжная доставка сообщений
  • Гибкая маршрутизация
  • Функции координации
  • Поддержка нескольких получателей

Queue Storage

Service Bus

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

Очереди Service Bus

  • Точка-точка:
    • Производитель отправляет сообщение
    • Один получатель забирает его
    • Сообщение обрабатывается один раз
  • Принцип работы аналогичен Queue Storage

Логотип Service Bus

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

Топики Service Bus

  • Модель публикация-подписка
    • Несколько производителей отправляют сообщения
    • Несколько получателей могут получить одно сообщение
  • Каждая подписка фильтрует сообщения:
    • Каждая подписка получает только нужное
  • Очередь — как один почтовый ящик
  • Топик — как список рассылки

Топик Service Bus

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

Надёжность сообщений

  • Встроенная надёжность:
    • Сбои обрабатываются автоматически
    • Автоматические повторные попытки
  • Очередь недоставленных сообщений:
    • Хранит сообщения, которые не удалось обработать
    • Сообщения доступны для анализа

Надёжность сообщений

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

Обнаружение дублей

  • Обнаружение дублей предотвращает повторную обработку сообщений.

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

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

  • Это обеспечивает обработку каждого сообщения практически ровно один раз даже при повторных попытках.

Обнаружение дублей в Service Bus

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

Упорядоченная обработка

Сессии Service Bus

  • Сессии Service Bus обеспечивают упорядоченную обработку сообщений.

  • Связанные сообщения имеют общий идентификатор сессии (например, все обновления для одного заказа).

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

  • Порядок сообщений сохраняется в рамках сессии, а получатель может хранить лёгкое состояние.

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

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

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

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

Preparing Video For Download...