Сесії, авто-переадресація та розділи

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

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

Огляд сесій

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

Огляд сесій

  • Упорядкування в межах сесії
    • Реалізується через Session ID
    • Одна сесія на споживача
    • Повідомлення зберігають послідовність
  • Легкий стан, щоб:
    • Обробляти перезапуски
    • Забезпечити чисту чергу FIFO
    • Масштабувати багато паралельних сесій

Сесії Service Bus

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

Dead lettering і авто-переадресація

Dead lettering

  • Невдалі повідомлення
  • Розблоковує основний шлях повідомлень

Auto-forwarding

  • Надсилає в окрему чергу або тему
  • Використовується в діагностиці
  • Використовується для повторних спроб

Dead-lettering

Auto-forwarding

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

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

  • Мережеве з'єднання може обриватися
    • Це спричиняє повторні надсилання
    • Подвійна обробка проблемна
  • Виявлення дублікатів:
    • Використовуйте унікальний ID повідомлення
    • Поєднайте з часовим вікном
    • Відкидайте повідомлення з тим самим ID
  • Кожне повідомлення обробляється лише раз

Схема дублікатів

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

Розділи для високої пропускної здатності

Розділи в Service Bus

  • Розподіл на кілька брокерів
    • Повідомлення обробляються паралельно
    • Підвищує стійкість
  • Той самий API
    • Service Bus керує розподілом
    • Той самий рядок підключення
Розробка рішень на Azure на основі подій та повідомлень

Зводимо все докупи

Підсумок Service Bus

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

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

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

Preparing Video For Download...