AI Agent Orchestration Platform · View 10 of 32 · 2 · Structure
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