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.

intermediate

Sidecar Pattern: Extend Services with Companion Containers

How to extend services with companion containers for cross-cutting concerns. Covers sidecar...

intermediate

Strangler Fig: Gradually Replace Legacy by Intercepting

How to gradually replace a legacy system by intercepting routes and routing traffic to new...

advanced

Actor Model Pattern

Isolate state in actors that communicate only via messages. Each actor processes one message at a...

intermediate

Async Generator Pattern

Stream data lazily with async generators. Yield values one at a time as they become available,...

intermediate

Back-Pressure Pattern

Prevent upstream systems from overwhelming downstream consumers by propagating flow-control signals...

intermediate

Backend for Frontend (BFF) Pattern

Create dedicated backend services tailored to the specific needs of each frontend client type,...

advanced

Blackboard Pattern

A shared knowledge space where independent specialized modules collaborate to solve complex...

intermediate

Blue-Green Deployment Pattern

Run two identical environments and switch traffic between them. Deploy to the idle environment,...

intermediate

Business Delegate Pattern

Reduce coupling between presentation and business tiers by introducing an intermediary that handles...

intermediate

Canary Release Pattern

Route a small percentage of traffic to the new version while the rest stays on stable. Monitor...

intermediate

Claim Check Pattern

Store large payloads in external storage and pass only a lightweight reference token through the...

advanced

Compensating Transaction Pattern

Undo the effects of a completed transaction by executing a counter-operation, enabling eventual...

beginner

Content Delivery Network (CDN) Pattern

Distribute static and live content through geographically dispersed edge servers to reduce latency,...

intermediate

Context Object Pattern: Examples

Learn the Context Object Pattern to reduce parameter bloat. Practical examples in Python, Java, and...

intermediate

Database per Service Pattern

Give each microservice its own private database to ensure loose coupling, independent deployment,...

intermediate

Dead Letter Channel Pattern

Route unprocessable messages to a separate dead letter queue for inspection and replay. Prevent...

intermediate

Deployment Ring Pattern

Roll out changes progressively in rings of increasing size. Start with a small group, verify...

intermediate

Distributed Lock Pattern

Coordinate mutually exclusive access to shared resources across distributed nodes using a...

intermediate

Event-Carried State Transfer Pattern

Replicate state changes across services by publishing events that carry the full updated entity...

intermediate

Gatekeeper Pattern

Place a validation and security boundary at the edge of a system to inspect, sanitize, and...

No results found.