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. ![The resilience toolbox](/img/microservices/resilience-toolbox.svg) 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 …