StackPractices

architecture

Practical resources about architecture for software engineers.

186 results

Designing Systems That Scale

Software architecture is the art of making trade-offs. Every pattern — from microservices to event-driven systems — solves specific problems while introducing new constraints. Understanding these trade-offs is what makes an engineer an architect.

This hub collects guides and patterns for API gateways, load balancing, circuit breakers, sagas, and service meshes. Whether you are designing a new system or modernizing a legacy monolith, these resources provide the mental models and implementation details you need.

intermediate

Repository Pattern

Abstract data access logic behind a clean interface. An architectural design pattern for testable,...

intermediate

Role Pattern

Assign dynamic roles to objects at runtime instead of hard-coding behavior in class hierarchies,...

advanced

Scheduler Agent Supervisor Pattern

Coordinate resilient job scheduling with a supervisor that monitors agents, restarts failures, and...

intermediate

Sequential Convoy Pattern

Preserve message ordering for related messages in a distributed system by grouping them into...

advanced

Sharding Pattern

Split a large dataset into smaller partitions (shards) distributed across multiple servers to...

intermediate

Shed Load Pattern

Drop requests proactively under extreme load to protect the system. Reject excess traffic before it...

beginner

Static Content Hosting Pattern

Deploy static files to a dedicated content delivery network or object storage to offload origin...

intermediate

Thread Pool Pattern

Reuse a fixed set of threads for short-lived tasks instead of creating a new thread per task....

intermediate

Throttling Pattern

Limit the rate at which a system processes requests or consumes resources to prevent overload,...

intermediate

Twin Pattern

Link two classes through mutual references so they delegate methods to each other: a...

intermediate

Type Object Pattern

Define game object types as runtime data rather than hard-coding them as classes, enabling...

intermediate

GraphQL Error Extension Pattern

Attach structured metadata to GraphQL errors using extension codes for predictable client-side...

advanced

GraphQL Federated Entity Pattern

Share an entity across Apollo Federation subgraphs. Use @key, @external, and @shareable so each...

advanced

GraphQL Interface Polymorphism Pattern

Model polymorphic types with GraphQL interfaces to share field contracts across different object...

advanced

GraphQL Schema Stitching Pattern

Merge multiple independent GraphQL schemas into a single unified schema that clients can query as...

intermediate

Bulkhead Pattern: Isolate Resources to Limit Blast Radius

How to isolate resources per service to limit blast radius. Covers thread pool isolation,...

advanced

Circuit Breaker Half-Open

How to test service recovery with half-open circuit breaker state transitions. Covers closed, open,...

advanced

Failover: Switch to Standby on Primary Failure Detection

How to move traffic to a standby system when the primary fails. Covers active-passive,...

intermediate

Graceful Shutdown: Drain In-Flight Requests Before Exit

How to drain in-flight requests before process exit. Covers signal handling, health check removal,...

intermediate

Token Bucket Rate Limiter: Smooth Traffic with Token Buckets

How to implement token bucket rate limiting for API protection. Covers bucket refill, burst...

No results found.