Architecture Patterns

General material on architectural patterns and their trade-offs.

3Questions
14Flashcards
15Terms
Terminology

15 terms in this topic

pattern

Backend for Frontend

A separate, narrow backend per client experience, which aggregates and reshapes downstream services for exactly that client's needs.

pattern

Cell-Based Architecture

Partitioning a service into complete, independent copies of itself, each serving a subset of customers, so a failure is bounded to one cell.

pattern

Competing Consumers

Multiple identical consumers reading from one queue, so throughput scales with consumer count and work is distributed automatically.

pattern

Event-Driven Architecture

A style in which components communicate by emitting and reacting to facts about what happened, rather than by calling each other.

pattern

Hexagonal Architecture

Putting the domain at the centre and letting everything external — UI, database, queues — attach through ports implemented by replaceable adapters.

pattern

Layered Architecture

Organising code into horizontal layers — presentation, application, domain, data — where each layer may only call the one beneath it.

pattern

Modular Monolith

A single deployable unit internally partitioned into modules with enforced boundaries, explicit interfaces and no shared internal state.

pattern

Outbox Pattern

Writing an outgoing message into a table in the same transaction as the business change, and relaying it to the broker separately, so the two cannot …

pattern

Pipes and Filters

Decomposing processing into independent steps connected by channels, each transforming its input and passing it on.

case-study

Prime Video's Move Back to a Monolith

Amazon Prime Video consolidated a serverless, distributed audio/video monitoring service into a single process and reported a 90% cost reduction — th…

pattern

Publish/Subscribe

A messaging pattern where each published message is delivered to every interested subscriber, rather than to one competing worker.

tool

Service Mesh

An infrastructure layer of sidecar proxies that handles service-to-service networking — mTLS, retries, timeouts, routing, telemetry — outside the app…

case-study

Shopify's Pods and Modular Monolith

Shopify handles Black Friday scale with isolated pods — complete stacks each serving a subset of merchants — while keeping the application itself a d…

pattern

Sidecar

Deploying a helper process alongside the main application in the same unit, to supply cross-cutting behaviour without changing the application.

pattern

Strangler Fig

Replacing a legacy system incrementally by routing individual capabilities to new implementations behind a facade, until nothing routes to the old system.

Architecture Patterns

Neighbouring topics

Layered Architecture

The default shape, its clarity, and where a technical partition fails.

No content yet

Event-Driven Architecture

Publishing facts, and trading comprehensibility for decoupling.

No content yet

Pipes and Filters

Independent transformation steps composed into a pipeline.

No content yet

Publish/Subscribe

Broadcast to every subscriber, as distinct from work distribution.

No content yet

Competing Consumers

Scaling throughput with instances, at the cost of ordering.

No content yet

Saga

Local transactions with compensating actions across services.

No content yet

CQRS

Separate models for writing and reading, each optimised for its job.

No content yet

Event Sourcing

The event log as the system of record, with state as a projection.

No content yet

Outbox

Making the event atomic with the business write it describes.

No content yet

Strangler Fig

Incremental replacement behind a routing facade.

No content yet

Anti-Corruption Layer

Translating a foreign model at the boundary so it does not leak in.

No content yet

Sidecar & Ambassador

Cross-cutting behaviour in a co-deployed process.

No content yet

Service Mesh

Sidecars applied estate-wide, and the scale at which that pays.

No content yet

API Gateway

A single entry point for policy, routing and protocol translation.

No content yet

Backend for Frontend

A narrow backend per client experience, owned by that client's team.

No content yet

Cell-Based Architecture

Complete isolated copies each serving a subset of customers.

No content yet

Sharding Patterns

Directory versus embedded keys, logical shards and rebalancing.

No content yet

Materialized Views

Precomputed query results, refreshed incrementally or in full.

No content yet

Orchestration vs Choreography

A coordinator that knows the flow, or services that react to events.

No content yet