Автор: Unmesh Joshi
Издательство: Pearson Education/Addison-Wesley
Год: 2024
Страниц: 456
Язык: английский
Формат: pdf (true), epub (true)
Размер: 35.5 MB, 21.1 MB
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.
We can now define the term distributed systems as used in this book. The software systems which store data, runs as multiple processes across multiple servers to coordinate and have an agreement on the state of that data. There are various kinds of distributed systems. But the ones we will focus on, have following characteristics.
One of the key requirements for finding the patterns is to study actual code bases. To find and document patterns in this book, code base of various systems was studied. Kafka, Cassandra, MongoDB, Pulsar, etcd, Zookeeper, CockroachDB, YugabyteDB, Akka, JGroups to name a few.
The patterns approach used here will help you:
Learn what a distributed system is and why distributed systems are needed
Understand the implementation of a wide range of systems such as databases, in-memory data grids, message brokers, and various cloud services
Prepare you to confidently traverse through open source codebases and discover how patterns and solutions map to real world systems like Kafka and Kubernetes
Скачать Patterns of Distributed Systems
True PDF:
True ePub: