21 - The Queue Based Load Levelling and Competing Consumers Pattern

21 - The Queue Based Load Levelling and Competing Consumers Pattern

2021-01-01

Do you have an application with specific scalability and continuity-of-service requirements? What happens when your service is hit by heavy load — could performance or reliability issues cascade through your solution?

In this Architecting for the Cloud, One Pattern at a Time episode, Chris and Will Eastbury cover three closely related patterns that are almost always used together in high-throughput systems:

  • Queue-Based Load Levelling — use a message queue as a shock absorber to smooth dramatic traffic spikes, so a downstream service processes at a consistent rate regardless of inbound demand
  • Competing Consumers — scale out message processing by running multiple consumers in parallel, pulling from the same queue to clear backlogs faster
  • Asynchronous Request-Reply — retrofit async processing into existing synchronous architectures using a status-polling pattern (HTTP 202 / redirect), without tearing apart the existing application

Along the way, Willy and Chris discuss real-world analogies (drive-throughs, ticketing ballots, smart motorways), Azure Service Bus configuration considerations such as maximum queue depth, and how Azure Functions bindings can scale consuming instances dynamically based on queue depth. They also address distributed tracing with Application Insights and the critical reminder that these patterns introduce real complexity — and should only be adopted when requirements genuinely justify it.

Related Content

20 - The Anti-corruption layer, Gateway Aggregation and Gateway Routing patterns

20 - The Anti-corruption layer, Gateway Aggregation and Gateway Routing patterns

Peter Piper joins Chris Reddington for another episode in the Architecting for the Cloud, One Pattern at a Time series. Building on the Façade and Strangler patterns, they explore three related cloud design patterns: the Anti-Corruption Layer (translating between legacy and modern domain models), Gateway Aggregation (collapsing multiple backend calls into a single client response), and Gateway Routing (layer-7 routing to decouple consumers from versioned backend services). Real Azure service examples — including API Management, Application Gateway, and Azure Front Door — are used throughout.

19 - The Event Sourcing, Materialized View and CQRS Patterns

19 - The Event Sourcing, Materialized View and CQRS Patterns

2020-12-23

What if you stored not just the current state of your data, but every event that produced it? The Event Sourcing pattern captures the full history of changes as an append-only log — enabling audit trails, temporal queries, and history replay. Combined with Materialized Views for efficient read-side querying and CQRS for command/query separation, these three patterns form a cornerstone of modern event-driven architecture. Chris and Steph explore all three in this episode of Architecting for the Cloud.

18 - Tales from the Real World - Defying Gravity.. The magic behind Flight Simulator 2020

18 - Tales from the Real World - Defying Gravity.. The magic behind Flight Simulator 2020

2020-12-18

What's actually powering Microsoft Flight Simulator 2020 — and what can cloud architects learn from it? Chris Reddington takes to the virtual skies over Queensland with former colleague Cam Adams, flying a Cessna 172 from Archerfield aerodrome while discussing the real Azure services behind one of the most technically ambitious games ever made. From CDN-based asset distribution and event-driven live weather to PlayFab game backends and DDoS protection — this is cloud architecture on the fly.