AI Agent Orchestration Platform  ·  View 10 of 32  ·  2 · Structure

Event and Messaging Topology

Which queues and topics exist, why there are several, and how a stuck message reaches a human.

Editable source SVG draw.io All views
Azure Service Bus Premium · work distribution Work queue classes Interactive p95 lease under 2 s Batch throughput first Long-Running hours to days Retry Scheduled backoff + jitter Delivery controls Session Ordering per execution Lock Renewal heartbeat Dead Letter per queue Azure Event Grid · lifecycle and webhooks Published topics Agent Lifecycle start · pause · end Workflow Events state transitions Approval Events raised · decided Guardrail Events block · escalate External edges Webhook Ingress HMAC · replay guard Partner Delivery retry 24 h Azure Event Hubs · telemetry firehose Streams Trace Stream OTel GenAI Token Meter per model call Capture to ADLS Avro · 5 min DLQ Triage Worker classify · replay Operator Alert depth and age SLO poison message replay depth breach notify capture Event and Messaging Topology Queue / topic Interface / broker Data store Application we own Security / platform failure / alternate event / async batch Delivery is at-least-once everywhere. Effects are made idempotent at the handler, never assumed at the broker. v 1.0 · owner Platform Engineering · date 2026-08

Decisions

  • Three brokers with three jobs: Service Bus distributes work, Event Grid carries lifecycle and webhooks, Event Hubs carries the telemetry firehose
  • Retries are re-enqueued as scheduled messages rather than abandoned onto the queue, so backoff and jitter are real rather than nominal
  • Ordering is per execution via a session id, not global — global ordering would cap throughput at one consumer

Delivery contract

  • At-least-once delivery, stated plainly; idempotency is the handler's responsibility and is tested
  • Correlation id and W3C trace context travel on every message
  • Dead-letter queue per queue class, with depth and oldest-message age as paging SLOs

Risks

  • Long-running steps can outlive a lock; lock renewal is a heartbeat and a missed heartbeat causes duplicate work
  • A retry storm on one queue class can starve another; separate classes bound the blast radius but do not eliminate it