Теорема CAP (CAP Theorem)

Теорема CAP гласит, что распределенная система может обладать только двумя из трех свойств: согласованностью, доступностью и устойчивостью к разделению.

The Three Guarantees: 1. Consistency (C): All nodes see the same data at the same time. 2. Availability (A): Every request gets a response, even if it's not the latest. 3. Partition Tolerance (P): System works despite network splits. Classifications: CP (Strong consistency), AP (High availability), CA (Single-node databases - not distributed).

        graph LR
  Center["Теорема CAP (CAP Theorem)"]:::main
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Представь, что ты и твой брат ведете счет матча. Если вы поссорились и не разговариваете (разрыв связи), вы не можете одновременно знать точный общий счет и продолжать его вести. Кто-то один должен либо замолчать, либо вы оба будете ошибаться в счете.

🤓 Expert Deep Dive

Многие заблуждаются, считая, что системы 'CA' существуют в распределенном виде. На самом деле, CA характерна только для одиночных серверов. Как только у вас появляется сеть, вы обязаны учитывать вероятность 'P'. Поэтому современные архитекторы часто смотрят на расширение PACELC, которое описывает поведение системы не только в аварийном режиме, но и в нормальном состоянии, когда приходится выбирать между скоростью (Latency) и свежестью данных (Consistency).

📚 Источники