Search
Lessons (19)
- What Are Design Patterns?
Design patterns are named, reusable solutions to problems that keep coming up in software design. Meet the three …
- Architecture Patterns at Scale
… central services, independently deployed services, event functions and decentralized peers](/img/system-design-l6/architecture-patterns.svg) Style …
- Which Pattern Do I Need?
A problem-first guide for picking the right design pattern, telling look-alike patterns apart, and spotting when …
- Domain-Driven Design: Tactical Patterns
… small, immutable, self-validating ⭐ Value objects are the easiest tactical pattern to adopt, and remove a huge class …
- Real-Time, Pub/Sub, Webhooks and CDC
… and database change capture](/img/system-design-l6/realtime-events.svg) Pattern Best for Key rule --- --- --- SSE Server …
- Event-Driven Architecture
… Broker vs mediator topologies, the four kinds of event patterns, event design, and the real trade-offs. The …
- Indexes, EXPLAIN & Query Plans
Design indexes from real filter, join and sort patterns, then prove improvements with query plans and production-like …
- Data in Microservices: Sagas & the Outbox Pattern
… So microservices accept eventual consistency and use sagas. The saga pattern A saga is a series of local …
- Resilience Patterns
… The patterns below stop that.  1. Timeouts: never wait forever …
- Database Internals, Replication and Scaling
… writes become durable log records, replicas serve compatible reads, and pools protect scarce connections](/img/system-design-l6 …
- What Is Software Architecture?
… the business logic lives 🔴 High Design How is one part organised? Classes, patterns (Strategy, Repository), module APIs 🟡 …
- Domain-Driven Design: Strategic Design
… DDD has two halves: Strategic design (this lesson) Tactical design (next lesson) --- --- --- Zoom level The whole business and …
- Scaling, Load Balancing & Rate Limiting
… Design for it: Pattern Purpose --- --- Timeouts Never wait forever on a dependency Retries with exponential backoff + jitter Survive …
- Finding Service Boundaries with DDD
… For the full picture, see [DDD strategic design](/learn/software-architecture/ddd-strategic-design) and [DDD tactical patterns …
- Microkernel (Plugin) Architecture
… How VS Code, browsers, Webpack and ESLint are built, how to design a plug-in contract, and the …
- React vs Vue vs Angular
… Huge community. - Vue 🪑 = a well-designed starter kit : friendly, gentle learning curve, official router and state library …
- SQL vs NoSQL Databases
… scale UP"] V1[Server] -- V2["Bigger server 💪<br/ more CPU/RAM"] end subgraph Horizontal["NoSQL by design: scale …
- Serverless Architecture
… Functions as a Service, event triggers, cold starts, pay-per-use pricing, managed backends, and the patterns and …
- Choosing an Architecture
… Requirements, scale and teams change, so design for change : mermaid flowchart LR S1["🚀 Stage 1<br/ simple monolith …