Prix bas
CHF50.40
Cet article manque chez l'éditeur. Il sera livré dès que possible.
Auteur
Unmesh Joshi is a Principal Consultant at Thoughtworks with 22 years of industry experience. He is a software architecture enthusiast, who believes that understanding principles of distributed systems is as essential today as understanding web architecture or object-oriented programming was in the last decade. For the last two years he has been publishing patterns of distributed systems on martinfowler.com. He has also conducted various training sessions around this topic. Twitter: @unmeshjoshi
Texte du rabat
Learn How to Better Understand Distributed System Design and Solve Common Problems
Enterprises today rely on a range of distributed software handling data storage, messaging, system management, and compute capability. Distributed system designs need to be implemented in some programming language, and there are common problems that these implementations need to solve. These problems have common recurring solutions. A patterns approach is very suitable to describe these implementation aspects.
Patterns by nature are generic enough to cover a broad range of products from cloud services like Amazon S3 to message brokers like Apache Kafka to infrastructure frameworks like Kubernetes to databases like MongoDB or Actor frameworks like Akka. At the same time the pattern structure is specific enough to be able to show real code. The beauty of this approach is that even if the code structure is shown in one programming language (Java in this case), the structure applies to many other programming languages. Patterns also form a "system of names," with each name having specific meaning in terms of the code structure.
The set of patterns presented in Patterns of Distributed Systems will be useful to all developers--even if they are not directly involved in building these kinds of systems, and mostly use them as a black box. Learning these patterns will help readers develop a deeper understanding of the challenges presented by distributed systems and will also help them choose appropriate cloud services and products. Coverage includes Patterns of Data Replication, Patterns of Data Partitioning, Patterns of Distributed Time, Patterns of Cluster Management, and Patterns of Communication Between Nodes.
The patterns approach used here will help you
Contenu
Preface
Acknowledgments
About the Author
Part I: Narratives
Chapter 1: The Promise and Perils of Distributed Systems
Chapter 2: Overview of the Patterns
Part II: Patterns of Data Replication
Chapter 3: Write-Ahead Log
Chapter 4: Segmented Log
Chapter 5: Low-Water Mark
Chapter 6: Leader and Followers
Chapter 7: HeartBeat
Chapter 8: Paxos
Chapter 9: Replicated Log
Chapter 10: Majority Quorum
Chapter 11: Generation Clock
Chapter 12: High-Water Mark
Chapter 13: Singular Update Queue
Chapter 14: Request Waiting List
Chapter 15: Idempotent Receiver
Chapter 16: Follower Reads
Chapter 17: Versioned Value
Chapter 18: Version Vector
Part III: Patterns of Data Partitioning
Chapter 19: Fixed Partitions
Chapter 20: Key-Range Partitions
Chapter 21: Two-Phase Commit
Part IV: Patterns of Distributed Time
Chapter 22: Lamport Clock
Chapter 23: Hybrid Clock
Chapter 24: Clock-Bound Wait
Part V: Patterns of Cluster Management
Chapter 25: Consistent Core
Chapter 26: Lease
Chapter 27: State Watch
Chapter 28: Gossip Dissemination
Chapter 29: Emergent Leader
Part VI: Patterns of Communication between Nodes
Chapter 30: Single-Socket Channel
Chapter 31: Request Batch
Chapter 32: Request Pipeline
References
Index