#91 Konsistent, Verfügbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen

Engineering Kiosk - Ein Podcast von Wolfgang Gassler, Andy Grunwald - Dienstags

Kategorien:

Konsistent, Verfügbar und Ausfalltolerant: Wähle zwei - Das CAP-TheoremStellt euch vor, ein Handwerker könnte die Dienstleistung schnell, günstig und in hoher Qualität leisten. Wäre dies nicht ein Traum? Leider sind alle drei Eigenschaften in der Realität nicht möglich. Und genau so geht es uns mit dem CAP-Theorem in verteilten Systemen mit Datenhaltung. Speziell im aktuellen Zeitalter mit Cloud Computing, horizontaler Skalierung, weltweiter Verfügbarkeit spielt das CAP-Theorem eine essentielle Rolle.Wie soll sich dein System verhalten, wenn die Netzwerk-Verbindung zwischen deinen Compute-Knoten ausfällt? Muss die Datenhaltung konsistent bleiben? Oder sind Inkonsistenzen für eine gewisse Zeit OK, dafür hat die Verfügbarkeit eine höhere Priorität? Um diesen Konflikt geht es in dieser Episode.Bonus: Auf GCP kannst du deine Compute-Instanz auf maximal 12 TB SSD Disk (ohne Netzwerk-Storage) aufstocken.**** Diese Episode wird von trivago gesponsert:trivago aus Düsseldorf sucht Verstärkung für ihr Tech-Team. Weltweite Skalierung, datengetriebene Entscheidungen und Experimente durch A/B Tests gehören zum Alltag. Hilf mit die Hotelsuchmaschine nach vorne zu bringen. Profitiere von einem autonomen Arbeitsumfeld und bewirb dich unter https://careers.trivago.com/tech oder schicke deine Initiativbewerbungen an [email protected] mit dem Betreff "Engineering Kiosk". ****Das schnelle Feedback zur Episode:👍 (top) 👎 (geht so)Feedback (gerne auch als Voice Message)EngKiosk Community: https://engineeringkiosk.dev/join-discord Email: [email protected]: https://podcasts.social/@engkioskTwitter: https://twitter.com/EngKioskWhatsApp +49 15678 136776Gerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach Audiodatei per Email oder WhatsApp Voice Message an +49 15678 136776LinksCAP-Theorem: https://de.wikipedia.org/wiki/CAP-TheoremEric Brewer: https://de.wikipedia.org/wiki/Eric_Brewer_(Informatiker)Slides zum CAP Theorem (Towards robust distributed systems): https://people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdfPACELC theorem: https://en.wikipedia.org/wiki/PACELC_theoremCAP Theorem Explained: https://learncloudnative.com/blog/2019-11-22-basics_cap_theoremJepsen: Elasticsearch 1.5.0: https://aphyr.com/posts/323-jepsen-elasticsearch-1-5-0Jepsen: MongoDB stale reads: https://aphyr.com/posts/322-jepsen-mongodb-stale-readsJepsen: Cassandra: https://aphyr.com/posts/294-jepsen-cassandraJepsen: Kafka: https://aphyr.com/posts/293-jepsen-kafkaSprungmarken(00:00:00) Intro(00:01:16) Das CAP-Theorem(00:03:37) Verteilte Systeme, Datenhaltung und State(00:08:17) Was ist das CAP-Theorem?(00:09:52) Neue Herausforderungen für dich im Job bei trivago (Werbung)(00:11:15) Was ist das CAP-Theorem?(00:13:10) Das C in CAP: Consistency(00:15:12) Das A in CAP: Availability(00:16:16) Das P in CAP: Partition Tolerance(00:18:55) Der Problemfall in verteilten Systemen(00:20:41) Was bedeutet es, wenn ein verteiltes System alle drei Eigenschaften erfüllen würde(00:22:56) Wo kommt das CAP-Theorem her? Das Brewer Theorem, ACID und BASE(00:31:50) Ausprägung CP: Consistency und Partition Tolerance(00:33:31) Ausprägung AP: Availability und Partition Tolerance(00:36:34) Ausprägung AC: Availability und Consistency(00:37:16) Das CAP-Theorem im Fehlerfall: PACELC(00:41:07) Das CAP-Theorem und die Praxis(00:43:00) MongoDB(00:45:13) Cassandra(00:46:36) Kubernetes(00:49:38) KafkaHostsWolfgang Gassler (https://mastodon.social/@woolf)Andy Grunwald (https://twitter.com/andygrunwald)Feedback (gerne auch als Voice Message)EngKiosk Community: https://engineeringkiosk.dev/join-discord Email: [email protected]: https://podcasts.social/@engkioskTwitter: https://twitter.com/EngKioskWhatsApp +49 15678 136776