Leseliste zu verteilten Systemen
Einführung
- Das Schwierigste an verteilten Systemen ist, die eigene Denkweise zu ändern.
- Diese Liste sammelt Materialien, die genau diesen Wandel fördern.
Materialien, die zum Nachdenken anregen
- Eine Sammlung von Texten, die neue Perspektiven auf das Design großer Systeme eröffnen.
- Harvest, Yield and Scalable Tolerant Systems: Praktische Anwendung der CAP-Theorie.
- On Designing and Deploying Internet Scale Services: Entwurf und Bereitstellung von Services im Internet-Maßstab.
- The Perils of Good Abstractions: Die Schwierigkeiten beim Aufbau perfekter APIs/Schnittstellen.
- Chaotic Perspectives: Unvorhersehbarkeit und Parallelität in großen Systemen.
- Data on the Outside versus Data on the Inside: Zwei Ansätze für Datenmanagement.
- Memories, Guesses and Apologies: Unsicherheit in der Datenverarbeitung.
- SOA and Newton's Universe: Ein philosophischer Zugang zu serviceorientierter Architektur.
- Building on Quicksand: Systeme auf instabilen Grundlagen aufbauen.
- Why Distributed Computing?: Warum verteiltes Computing nötig ist.
- A Note on Distributed Computing: Grundkonzepte des verteilten Computing.
- Stevey's Google Platforms Rant: Googles Erfahrungen mit SOA-Plattformen.
Latenz
- Die Existenz von Latenz und wie man mit ihr umgeht.
- Latency Exists, Cope!: Die architektonischen Auswirkungen von Latenz.
- Latency - the new web performance bottleneck: Der neue Flaschenhals der Web-Performance.
- The Tail At Scale: Latenzprobleme in groß angelegten Systemen.
Amazon
- Interessante Inhalte zu Amazons Kultur und Organisation eher als zur Technik selbst.
- A Conversation with Werner Vogels: Der Übergang zu servicebasierter Architektur.
- Discipline and Focus: Weitere Inhalte zu Amazons Architekturwandel.
- Vogels on Scalability: Vogels' Sicht auf Skalierbarkeit.
Google
- Modernste Technologien für verteilte Systeme.
- MapReduce: Ein Modell für Datenverarbeitung im großen Maßstab.
- Chubby Lock Manager: Verteiltes Lock-Management.
- Google File System: Ein Dateisystem im großen Maßstab.
- BigTable: Ein verteiltes Storage-System.
- Data Management for Internet-Scale Single-Sign-On: Datenmanagement für Single Sign-On im Internet-Maßstab.
- Dremel: Interaktive Analyse von Datensätzen im Web-Maßstab.
- Large-scale Incremental Processing Using Distributed Transactions and Notifications: Groß angelegte inkrementelle Verarbeitung mit verteilten Transaktionen.
- Megastore: Skalierbares, hochverfügbares Storage für interaktive Services.
- Spanner: Eine global verteilte Datenbank.
- Photon: Verknüpfung kontinuierlicher Datenströme.
- Mesa: Ein Data-Warehousing-System in Echtzeit.
Konsistenzmodelle
- Das Gleichgewicht zwischen Konsistenz und Verfügbarkeit im Systemdesign finden.
- CAP Conjecture: Zielkonflikte zwischen Konsistenz, Verfügbarkeit und Partitionstoleranz.
- Consistency, Availability, and Convergence: Die Obergrenzen der Konsistenz.
- CAP Twelve Years Later: Veränderungen in der CAP-Theorie.
- Consistency and Availability: Die Beziehung zwischen Konsistenz und Verfügbarkeit.
- Eventual Consistency: Eventual Consistency.
- Avoiding Two-Phase Commit: Wie man Two-Phase Commit vermeidet.
- 2PC or not 2PC, Wherefore Art Thou XA?: Die Grenzen von Two-Phase Commit.
- Life Beyond Distributed Transactions: Datenmanagement jenseits verteilter Transaktionen.
- If you have too much data, then 'good enough' is good enough: NoSQL und die Zukunft der Datentheorie.
- Starbucks doesn't do two phase commit: Asynchrone Mechanismen.
- You Can't Sacrifice Partition Tolerance: Die Bedeutung von Partitionstoleranz.
- Optimistic Replication: Ein Ansatz mit lockerer Konsistenz.
Theorie
- Arbeiten, die wichtige Elemente des Designs verteilter Systeme erklären.
- Distributed Computing Economics: Die Wirtschaftlichkeit des verteilten Computing.
- Rules of Thumb in Data Engineering: Faustregeln im Data Engineering.
- Fallacies of Distributed Computing: Trugschlüsse des verteilten Computing.
- Impossibility of distributed consensus with one faulty process: FLP-Theorie.
- Unreliable Failure Detectors for Reliable Distributed Systems: Failure Detectors für zuverlässige verteilte Systeme.
- Lamport Clocks: Zeitsynchronisierung in verteilten Systemen.
- The Byzantine Generals Problem: Das byzantinische Problem.
- Lazy Replication: Nutzung der Semantik verteilter Services.
- Scalable Agreement: Ordnung als Service.
- Scalable Eventually Consistent Counters over Unreliable Networks: Skalierbare Counter mit eventual consistency über unzuverlässige Netzwerke.
Sprachen und Tools
- Probleme beim Aufbau verteilter Systeme mit bestimmten Technologien.
- Programming Distributed Erlang Applications: Aufbau verteilter Anwendungen mit Erlang und OTP.
Infrastruktur
- Robuste Prinzipien für das Timing-Management im Internet.
Storage
- Consistent Hashing and Random Trees: Konsistentes Hashing und Random Trees.
- Amazon's Dynamo Storage Service: Amazons Storage-Service.
- Paxos Consensus: Paxos verstehen.
- The Part-Time Parliament: Die Grundlagen von Paxos.
- Paxos Made Simple: Eine einfache Erklärung von Paxos.
- Paxos Made Live: Paxos aus Engineering-Perspektive.
- Revisiting the Paxos Algorithm: Eine Neubetrachtung des Paxos-Algorithmus.
- How to build a highly available system with consensus: Aufbau eines hochverfügbaren Systems mit Konsens.
- Reconfiguring a State Machine: Neukonfiguration einer State Machine.
- Implementing Fault-Tolerant Services Using the State Machine Approach: Umsetzung fehlertoleranter Services mit dem State-Machine-Ansatz.
Weitere Arbeiten zu Konsens
- Mencius: Aufbau effizient replizierter State Machines für WANs.
- In Search of an Understandable Consensus Algorithm: Eine erweiterte Version des RAFT-Algorithmus.
Gossip-Protokolle (Epidemic Behaviours)
- Die Stärke gossip-basierter Kommunikationsprotokolle.
- Astrolabe: Techniken für Monitoring und Data Mining in verteilten Systemen.
- Epidemic Computing at Cornell: Epidemic Computing an der Cornell University.
- Fighting Fire With Fire: Skalierungsgrenzen mit zufälligem Gossip überwinden.
- Bi-Modal Multicast: Bi-modaler Multicast.
- ACM SIGOPS Operating Systems Review: Gossip-basiertes Networking.
- SWIM: Ein skalierbares, schwach konsistentes Membership-Protokoll im Infektionsstil für Prozessgruppen.
P2P
- Chord: Ein skalierbares Peer-to-Peer-Lookup-Protokoll für Internet-Anwendungen.
- Kademlia: Ein Peer-to-Peer-Informationssystem auf Basis der XOR-Metrik.
- Pastry: Verteilte Objektlokalisierung und Routing für groß angelegte Peer-to-Peer-Systeme.
- PAST: Ein groß angelegtes, persistentes Peer-to-Peer-Storage-Utility auf Basis von Pastry.
- SCRIBE: Eine groß angelegte verteilte Multicast-Infrastruktur auf Anwendungsebene auf Basis von Pastry.
Zusammenfassung von GN⁺
- Verteilte Systeme sind ein Bereich, in dem man seine Denkweise ändern muss, um komplexe Probleme zu lösen.
- Die verschiedenen Materialien und Arbeiten vermitteln ein tiefes Verständnis für Design und Implementierung verteilter Systeme.
- Diese Liste behandelt viele Aspekte verteilter Systeme und bietet besonders Einblicke in Konsistenzmodelle und Latenzprobleme.
- Für Entwickler oder Forschende mit Interesse an verteilten Systemen kann sie eine nützliche Ressource sein.
- Als Projekte mit ähnlichen Funktionen werden unter anderem Apache Kafka und Apache Cassandra empfohlen.
Noch keine Kommentare.