Architektura Expert
CAP Theorem prakticky¶
CAP TheoremDistributedConsistency 3 min čtení
Praktické dopady CAP theoremu na design. CP vs AP systémy.
CP vs AP¶
- CP — konzistence + partition tolerance. ZooKeeper, etcd, MongoDB
- AP — dostupnost + partition tolerance. Cassandra, DynamoDB, CouchDB
Rozhodování¶
CP: Bankovní transakce, inventory limitovaného zboží, lock management.
AP: Social media feed, product catalog, analytics, shopping cart.
Praktické příklady¶
V praxi málokdy volíte striktně mezi CP a AP — většina moderních systémů nabízí konfigurovatelné consistency modely. Například MongoDB defaultně funguje jako CP systém s majority read/write concern, ale můžete ho přepnout na AP chování snížením concern na local. Cassandra naopak defaultně funguje jako AP, ale s QUORUM consistency level se chová jako CP.
Důležité je pochopit, že CAP theorem platí pouze během network partition. Když síť funguje správně, většina databází poskytuje jak konzistenci, tak dostupnost. Proto je praktičtější přemýšlet v termínech PACELC modelu: během Partition volíte A nebo C, jinak (Else) volíte Latency nebo Consistency. Například DynamoDB je PA/EL — při partition preferuje dostupnost, jinak nízkou latenci.
Shrnutí¶
CAP ovlivňuje každé architektonické rozhodnutí. Volte conscious trade-offs pro každý bounded context.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.