Вступ до Azure Service Bus

Розробка рішень на Azure на основі подій та повідомлень

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

Queue Storage vs Service Bus

Queue Storage

  • Проста «to-do» черга
  • Без розширених можливостей
  • Кожне повідомлення обробляється один раз

Service Bus

  • Корпоративний месенджер
  • Вища гарантія доставки
  • Багатші маршрутизація
  • Можливості координації
  • Можна мати кілька споживачів

Queue Storage

Service Bus

Розробка рішень на Azure на основі подій та повідомлень

Черги Service Bus

  • Точка–точка:
    • Коли виробник надсилає повідомлення
    • Один споживач його забирає
    • Повідомлення обробляється один раз
  • Подібно до роботи Queue Storage

Логотип Service Bus

Розробка рішень на Azure на основі подій та повідомлень

Топіки Service Bus

  • Модель publish–subscribe
    • Кілька виробників надсилають повідомлення
    • Кілька споживачів можуть отримати те саме повідомлення
  • Кожна підписка може фільтрувати повідомлення:
    • Кожна підписка отримує релевантне
  • Черга — як одна скринька «Вхідні»
  • Топік — як список розсилки

Service Bus Topic

Розробка рішень на Azure на основі подій та повідомлень

Надійність повідомлень

  • Вбудована надійність:
    • Збої обробляються
    • Автоматичні повтори
  • Черга невдалих повідомлень (dead-letter):
    • Для повідомлень, що не доставлені
    • Повідомлення можна переглянути

Надійність повідомлень

Розробка рішень на Azure на основі подій та повідомлень

Виявлення дублікатів

  • Виявлення дублікатів не дає обробити повідомлення двічі.

  • Якщо відправник повторює спробу і те саме повідомлення приходить знову, його розпізнають за ID повідомлення.

  • Дублікатів позбуваються в межах заданого вікна часу.

  • Це дає майже одноразову обробку, попри мережеві повтори.

Виявлення дублікатів у Service Bus

Розробка рішень на Azure на основі подій та повідомлень

Впорядкована обробка

Service Bus Sessions

  • Service Bus Sessions забезпечують впорядковану обробку.

  • Пов'язані повідомлення мають спільний Session ID (наприклад, усі оновлення одного замовлення).

  • Кожну сесію отримує один споживач за раз.

  • Порядок зберігається в межах сесії, споживач може тримати легкий стан.

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

Розробка рішень на Azure на основі подій та повідомлень

Давайте потренуємось!

Розробка рішень на Azure на основі подій та повідомлень

Preparing Video For Download...