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.
Repository Pattern
Abstract data access logic behind a clean interface. An architectural design pattern for testable,...
Role Pattern
Assign dynamic roles to objects at runtime instead of hard-coding behavior in class hierarchies,...
Scheduler Agent Supervisor Pattern
Coordinate resilient job scheduling with a supervisor that monitors agents, restarts failures, and...
Sequential Convoy Pattern
Preserve message ordering for related messages in a distributed system by grouping them into...
Sharding Pattern
Split a large dataset into smaller partitions (shards) distributed across multiple servers to...
Shed Load Pattern
Drop requests proactively under extreme load to protect the system. Reject excess traffic before it...
Static Content Hosting Pattern
Deploy static files to a dedicated content delivery network or object storage to offload origin...
Thread Pool Pattern
Reuse a fixed set of threads for short-lived tasks instead of creating a new thread per task....
Throttling Pattern
Limit the rate at which a system processes requests or consumes resources to prevent overload,...
Twin Pattern
Link two classes through mutual references so they delegate methods to each other: a...
Type Object Pattern
Define game object types as runtime data rather than hard-coding them as classes, enabling...
GraphQL Error Extension Pattern
Attach structured metadata to GraphQL errors using extension codes for predictable client-side...
GraphQL Federated Entity Pattern
Share an entity across Apollo Federation subgraphs. Use @key, @external, and @shareable so each...
GraphQL Interface Polymorphism Pattern
Model polymorphic types with GraphQL interfaces to share field contracts across different object...
GraphQL Schema Stitching Pattern
Merge multiple independent GraphQL schemas into a single unified schema that clients can query as...
Bulkhead Pattern: Isolate Resources to Limit Blast Radius
How to isolate resources per service to limit blast radius. Covers thread pool isolation,...
Circuit Breaker Half-Open
How to test service recovery with half-open circuit breaker state transitions. Covers closed, open,...
Failover: Switch to Standby on Primary Failure Detection
How to move traffic to a standby system when the primary fails. Covers active-passive,...
Graceful Shutdown: Drain In-Flight Requests Before Exit
How to drain in-flight requests before process exit. Covers signal handling, health check removal,...
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.