Simple tasks like running a program or storing and retrieving data become much more complicated when you do them on collections of computers, rather than single machines. Distributed systems have become a key architectural construct, but they affect everything a program would normally do.
Using a series of examples taken from a fictional coffee shop operation, this video course with Tim Berglund helps you explore five key areas of distributed systems, including storage, computation, timing, communication, and consensus. You’ll also learn about some distributed programming paradigms.
If you’re an experienced developer looking to sharpen your architectural skills—particularly with regard to big data—this is one course you shouldn’t miss.
- Dive into the five main problems areas in distributed systems—storage, computation, messaging, timing, and consensus
- Understand key challenges that emerge in each of these areas as you move from single-processor to a distributed architecture
- Discover one or more common open-source products that address each problem area
Tim Berglund is a full-stack generalist and passionate teacher who loves coding, presenting, and working with people. He’s the founder and principal software developer at August Technology Group, a technology consulting firm focused on the JVM. Tim is an international speaker and co-presenter of the bestselling McCullough and Berglund on Mastering Git (O’Reilly).
About the O’Reilly Software Architecture Series
Clearing a path from developer to architect and enriching that path once you arrive. Software architecture is a fast-moving, multidisciplinary subject where entire suites of "best practices" become obsolete practically overnight. No single path or curriculum exists, and different types of architecture—application, integration, enterprise—require different subject emphasis. Whether you’re at the outset of a career as an architect or in the midst of such a career, series editor Neal Ford has curated this collection of tools and guides for aspiring and seasoned architects alike.
Table of contents
- Welcome 00:10:42
- What Distributed Systems Are, and Why They Exist 00:02:51
- Read Replication 00:04:57
- Sharding 00:08:45
- Consistent Hashing 00:19:27
- CAP Theorem 00:12:08
- Distributed Transactions 00:16:54
- Distributed Computation Introduction 00:04:32
- Map Reduce 00:12:25
- Hadoop 00:22:53
- Spark 00:18:22
- Storm 00:16:27
- Lambda Architecture 00:08:36
- Synchronization 00:04:19
- Network Time Protocol 00:08:10
- Vector Clocks 00:12:26
- Distributed Consensus: Paxos 00:16:32
- Messaging Introduction 00:06:25
- Title: Distributed Systems in One Lesson
- Release date: June 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491924914
You might also like
The Software Architect Elevator
As the digital economy changes the rules of the game for enterprises, the role of software …
The Staff Engineer's Path
For years, companies have rewarded their most effective engineers with management positions. But treating management as …
Modern Software Engineering: Doing What Works to Build Better Software Faster
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David …