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.
Sidecar Pattern: Extend Services with Companion Containers
How to extend services with companion containers for cross-cutting concerns. Covers sidecar...
Strangler Fig: Gradually Replace Legacy by Intercepting
How to gradually replace a legacy system by intercepting routes and routing traffic to new...
Actor Model Pattern
Isolate state in actors that communicate only via messages. Each actor processes one message at a...
Async Generator Pattern
Stream data lazily with async generators. Yield values one at a time as they become available,...
Back-Pressure Pattern
Prevent upstream systems from overwhelming downstream consumers by propagating flow-control signals...
Backend for Frontend (BFF) Pattern
Create dedicated backend services tailored to the specific needs of each frontend client type,...
Blackboard Pattern
A shared knowledge space where independent specialized modules collaborate to solve complex...
Blue-Green Deployment Pattern
Run two identical environments and switch traffic between them. Deploy to the idle environment,...
Business Delegate Pattern
Reduce coupling between presentation and business tiers by introducing an intermediary that handles...
Canary Release Pattern
Route a small percentage of traffic to the new version while the rest stays on stable. Monitor...
Claim Check Pattern
Store large payloads in external storage and pass only a lightweight reference token through the...
Compensating Transaction Pattern
Undo the effects of a completed transaction by executing a counter-operation, enabling eventual...
Content Delivery Network (CDN) Pattern
Distribute static and live content through geographically dispersed edge servers to reduce latency,...
Context Object Pattern: Examples
Learn the Context Object Pattern to reduce parameter bloat. Practical examples in Python, Java, and...
Database per Service Pattern
Give each microservice its own private database to ensure loose coupling, independent deployment,...
Dead Letter Channel Pattern
Route unprocessable messages to a separate dead letter queue for inspection and replay. Prevent...
Deployment Ring Pattern
Roll out changes progressively in rings of increasing size. Start with a small group, verify...
Distributed Lock Pattern
Coordinate mutually exclusive access to shared resources across distributed nodes using a...
Event-Carried State Transfer Pattern
Replicate state changes across services by publishing events that carry the full updated entity...
Gatekeeper Pattern
Place a validation and security boundary at the edge of a system to inspect, sanitize, and...
No results found.