Architektur Experte
CAP Theorem in der Praxis¶
CAP TheoremDistributedConsistency 3 Min. Lesezeit
Praktische Auswirkungen des CAP Theorems auf das Design. CP- vs. AP-Systeme.
CP vs AP¶
- CP — Konsistenz + Partition Tolerance. ZooKeeper, etcd, MongoDB
- AP — Verfügbarkeit + Partition Tolerance. Cassandra, DynamoDB, CouchDB
Entscheidungsfindung¶
CP: Banktransaktionen, Bestandsführung begrenzter Waren, Lock Management.
AP: Social Media Feed, Produktkatalog, Analytics, Warenkorb.
Praktische Beispiele¶
In der Praxis waehlt man selten strikt zwischen CP und AP — die meisten modernen Systeme bieten konfigurierbare Konsistenzmodelle. Beispielsweise funktioniert MongoDB standardmaessig als CP-System mit Majority Read/Write Concern, kann aber durch Herabsetzen des Concerns auf local auf AP-Verhalten umgeschaltet werden. Cassandra hingegen ist standardmaessig AP, verhaelt sich aber mit QUORUM Consistency Level wie CP.
Wichtig ist zu verstehen, dass das CAP-Theorem nur waehrend einer Netzwerkpartition gilt. Wenn das Netzwerk korrekt funktioniert, bieten die meisten Datenbanken sowohl Konsistenz als auch Verfuegbarkeit. Daher ist es praktischer, in Begriffen des PACELC-Modells zu denken: Waehrend einer Partition waehlt man A oder C, ansonsten (Else) waehlt man Latenz oder Konsistenz. Beispielsweise ist DynamoDB PA/EL — bei Partition bevorzugt es Verfuegbarkeit, sonst niedrige Latenz.
Zusammenfassung¶
CAP beeinflusst jede architektonische Entscheidung. Treffen Sie bewusste Trade-offs für jeden Bounded Context.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.