Tag: architecture
Browse 85 practical software engineering resources tagged with "architecture". Discover code recipes, design patterns, documentation templates, and in-depth guides to help you build, deploy, and maintain production-ready solutions involving architecture. Each resource is written for engineers who ship real systems, with copy-paste examples and practical trade-offs.
Software Architecture Patterns
Good architecture makes systems easier to understand, change, and scale. It is the deliberate set of decisions that shape structure, communication, failure modes, and growth over time.
The patterns and guides below cover microservices, event-driven design, domain-driven design, resilience patterns, and trade-off analysis. Use them as a foundation for making informed architectural decisions.
Every resource includes clear explanations, copy-paste code, and practical warnings. Use them to make informed decisions, avoid production pitfalls, and speed up your delivery. If you are just getting started, read the beginner-friendly articles first; if you are experienced, jump straight to the advanced patterns and architecture guides. New resources are added regularly, so bookmark this page and check back for the latest patterns.
AI Agents with Tool Use
Build autonomous AI agents that can use external tools and APIs to accomplish complex tasks.
Design a Scalable API Gateway for Microservices
Build an API gateway that routes requests, handles authentication, rate limiting, caching, and...
Build Resilient Systems with the Circuit Breaker Pattern
How to prevent cascading failures in distributed systems using circuit breakers with open, closed,...
Dependency Injection
Implement dependency injection to write testable, decoupled code across languages and frameworks.
Design Event-Driven Systems with Event Buses and Brokers
How to build loosely coupled systems using events, event buses, message brokers, and event sourcing...
Distribute Traffic with Load Balancing Algorithms
How to distribute incoming requests across multiple servers using round-robin, least-connections,...
Microservices Communication Patterns
Choose between synchronous and asynchronous communication patterns for resilient microservices...
Resilient Microservices with Circuit Breakers, Retries
How to build fault-tolerant distributed systems using microservices patterns including circuit...
Multi-Tenancy Architecture
Design multi-tenant applications with shared or isolated databases, tenant-aware routing, and data...
Retry with Exponential Backoff
Implement resilient retry strategies with exponential backoff, jitter, and circuit breaker...
Manage Distributed Transactions with the Saga Pattern
How to implement saga orchestration and choreography to maintain data consistency across...
Service Discovery
Implement service discovery with health checks, DNS-based resolution, and service registries for...
Secure and Observe Microservices with a Service Mesh
How to deploy Istio or Linkerd to add mTLS, traffic management, observability, and policy...
Workflow Engines
Orchestrate complex business processes with workflow engines, state machines, and long-running task...
Batch Processing Patterns
Design reliable batch processing pipelines for large datasets with retry logic, idempotency, and...
Event-Driven Microservices
Design event-driven microservices with message brokers, event sourcing, CQRS, and eventual...
Implement Event Sourcing with CQRS in Python
Build an event-sourced system with CQRS separation using Python, event store persistence,...
Ambassador: Offload Cross-Cutting Concerns to a Proxy
How to offload cross-cutting concerns to a proxy ambassador. Covers connection pooling, retry...
Anti-Corruption Layer: Isolate Legacy with Adapters
How to isolate legacy systems with translation adapters. Covers ACL facade, domain translation,...
Backends for Frontends: Dedicated Backend per Client Type
How to create dedicated backends per client type. Covers BFF for web, mobile, and desktop. Covers...