Fundamentals of Distributed Systems
Making a reliable centralized application is hard enough, but distributed systems require some extra consideration. This course will teach you the important concepts and basic patterns of reliable distributed systems.
What you'll learn
Distributed systems are hard to build, complicated to run, and difficult to understand. If you need one, then it’s because a centralized application just won't do. In this course, Fundamentals of Distributed Systems, you’ll learn to build and operate complex systems made of loosely connected services. First, you’ll explore the properties of a reliable service. Next, you’ll discover how to connect services together using messages and APIs. Finally, you’ll learn how to apply patterns to tackle hard collaborative problems. When you’re finished with this course, you’ll have the skills and knowledge of distributed systems needed to design and operate software at a global scale.
Table of contents
- Being a Good Distributed Citizen 3m
- Fallacies of Distributed Computing 2m
- The Problems with CRUD 3m
- Idempotence 4m
- Default CRUD Behavior 3m
- Client-side ID 3m
- CQRS 3m
- Immutable Data 3m
- Snapshots and Tombstones 5m
- Migrating to Immutable Records 5m
- Location Independence 5m
- Content-addressed Storage 3m
- Versioning Data 4m
- Versioning APIs 4m
- Overview of a Reliable Application 3m