architecture
Practical resources about architecture for software engineers.
184 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.
Geode Pattern
Distribute data across nodes with partitioning so each node owns a shard. Horizontal scaling...
Graceful Degradation Pattern
Degrade functionality instead of failing when dependencies are unavailable. Serve partial results,...
Idempotent Consumer Pattern
Process messages from a queue exactly once regardless of duplicates by using idempotent operations,...
Inbox Pattern
Use a dedicated inbox table or queue to record incoming events or requests, ensuring reliable...
Intercepting Filter Pattern
Compose cross-cutting concerns into a chain of pluggable filters that intercept requests and...
Lock-Free Queue Pattern
Build high-throughput queues using atomic operations instead of locks. Multiple threads can enqueue...
Manager Pattern
Encapsulate lifecycle, coordination, and access control for a set of related objects through a...
Marker Interface Pattern
Use empty interfaces as metadata tags to signal properties or capabilities at compile time and...
Materialized View Pattern
Precompute and store expensive query results in a read-optimized cache to avoid repeated costly...
Message Deduplication Pattern
Prevent duplicate processing by tracking message IDs with idempotency keys. Consumers check a store...
Message Deferral Pattern
Delay message processing to a scheduled time. Move messages that cannot be processed now to a...
Message Queue Load Leveling Pattern
Smooth traffic spikes by placing a queue between a producer and a consumer. The producer writes...
MVC Pattern
Separate application into Model, View, and Controller components. An architectural design pattern...
Partial Class Pattern: Examples
Learn the Partial Class Pattern to split class definitions across multiple files. Examples in...
Priority Queue Pattern
Process tasks based on priority rather than arrival order, ensuring high-priority work gets...
Producer-Consumer Pattern
Decouple production and consumption with a shared queue. Producers generate items at their own...
Publish-Subscribe Pattern
Broadcast events to multiple independent subscribers. Publishers send messages to a topic without...
Queue-Based Load Leveling Pattern
Introduce a queue between task producers and consumers to smooth out traffic spikes, decouple...
Reactive Streams Pattern
Process asynchronous data streams with backpressure. Subscribers request N items at a time,...
Repository Pattern
Abstract data access logic behind a clean interface. An architectural design pattern for testable,...
No results found.