System design

Stage 1 · Lesson 9 of 10

CAP and PACELC

Core concepts and building blocks

Sometimes the network breaks and splits the copies () of your data into groups that cannot talk. This is a . The says the system must then choose.

It can pick consistency: refuse or delay requests so nobody reads . Or it can pick availability: answer from whichever side you reach, accepting stale or conflicting data. CAP is only about partitions, which are rare but certain to happen.

adds the everyday case. Its name spells out the rule: if Partition, choose Availability or Consistency; Else, choose Latency or Consistency. Even with no partition, waiting for replicas to agree takes time.

A bank balance usually leans towards consistency. A like counter or a product catalogue can lean towards availability and low latency.

Common trapcalling a whole system "CP" or "AP": real systems make this choice per operation and often let you tune it.

A question to check yourself, an AI practice session and 2 cheat sheet entries come with the full roadmap. Unlock

Resources for this stage

Start with· follow one of these

  • CoursePaid
    Grokking System Design Fundamentals

    Design Gurus · Beginner · Subscription

    Load balancing, API gateway, proxies, caching, CAP and Bloom filters: week 1 of the plan in order

  • GitHub repoFree
    The System Design Primer

    Donne Martin · Intermediate

    Free: its scalability, latency, availability, CDN, load balancer and cache sections

Keep handy

  • Free Design Gurus concept index for looking up a term in the middle of a lesson

Also worth your time

Mark this stage as not done?