Event Grid for event routing in Azure - Time & Space Complexity
We want to understand how the time to route events grows as more events are sent through Azure Event Grid.
Specifically, how does the number of events affect the work Event Grid does to deliver them?
Analyze the time complexity of the following event routing sequence.
// Create Event Grid topic
az eventgrid topic create --name mytopic --resource-group mygroup --location eastus
// Send multiple events to the topic
az eventgrid event publish --topic-name mytopic --resource-group mygroup --events '[{"id":"1","eventType":"recordCreated","subject":"/records/1","data":{"value":100},"eventTime":"2024-01-01T00:00:00Z","dataVersion":"1.0"}]'
// Event Grid routes events to subscribers
// Subscribers receive events asynchronously
This sequence creates a topic, sends events, and Event Grid routes them to subscribers.
Identify the API calls, resource provisioning, data transfers that repeat.
- Primary operation: Sending each event to the Event Grid topic.
- How many times: Once per event sent by the user or system.
- Routing operation: Event Grid delivers each event to all matching subscribers.
- How many times: Once per event per subscriber.
As the number of events increases, the number of send operations grows directly with it.
| Input Size (n) | Approx. Api Calls/Operations |
|---|---|
| 10 | 10 sends, 10 routing deliveries per subscriber |
| 100 | 100 sends, 100 routing deliveries per subscriber |
| 1000 | 1000 sends, 1000 routing deliveries per subscriber |
Pattern observation: The work grows linearly with the number of events sent.
Time Complexity: O(n)
This means the time to route events grows directly in proportion to the number of events sent.
[X] Wrong: "Event Grid routes all events instantly regardless of how many are sent."
[OK] Correct: Each event must be processed and delivered, so more events mean more work and time.
Understanding how event routing scales helps you design systems that handle growth smoothly and avoid surprises.
"What if we added more subscribers to the Event Grid topic? How would the time complexity change?"