Sessies, auto-forwarding en partities

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

Sessies: overzicht

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Sessies: overzicht

  • Ordering per sessie
    • Via Session ID
    • Eén sessie per consumer
    • Berichten blijven op volgorde
  • Lichtgewicht state om:
    • Restarts op te vangen
    • Strakke FIFO-queue te bieden
    • Te schalen over veel gelijktijdige sessies

Service Bus-sessies

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Dead-lettering en auto-forwarding

Dead-lettering

  • Mislukte berichten
  • Blokkeert het hoofdpad niet

Auto-forwarding

  • Gaat naar aparte queue of topic
  • Gebruikt voor diagnostics-flow
  • Gebruikt voor retries

Dead-lettering

Auto-forwarding

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Duplicaatdetectie

  • Netwerkverbinding kan wegvallen
    • Dit veroorzaakt opnieuw verzenden
    • Dubbele verwerking is lastig
  • Duplicaatdetectie:
    • Gebruik een unieke message-ID
    • Combineer met een tijdsvenster
    • Negeer berichten met dezelfde ID
  • Elk bericht wordt maar één keer verwerkt

Duplicaatdiagram

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Partities voor hoge throughput

Partities in Service Bus

  • Verspreid over meerdere brokers
    • Berichten parallel verwerkt
    • Verhoogt resiliency
  • Zelfde API blijft
    • Service Bus regelt distributie
    • Zelfde connection string
Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Alles bij elkaar

Service Bus samenvatting

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Laten we oefenen!

Event- en berichtgebaseerde oplossingen ontwikkelen met Azure

Preparing Video For Download...