Book description
Without established design patterns to guide them, developers have had to build distributed systems from scratch, and most of these systems are very unique indeed. Today, the increasing use of containers has paved the way for core distributed system patterns and reusable containerized components. This practical guide presents a collection of repeatable, generic patterns to help make the development of reliable distributed systems far more approachable and efficient.
Author Brendan Burns—Director of Engineering at Microsoft Azure—demonstrates how you can adapt existing software design patterns for designing and building reliable distributed applications. Systems engineers and application developers will learn how these long-established patterns provide a common language and framework for dramatically increasing the quality of your system.
- Understand how patterns and reusable components enable the rapid development of reliable distributed systems
- Use the side-car, adapter, and ambassador patterns to split your application into a group of containers on a single machine
- Explore loosely coupled multi-node distributed patterns for replication, scaling, and communication between the components
- Learn distributed system patterns for large-scale batch data processing covering work-queues, event-based processing, and coordinated workflows
Publisher resources
Table of contents
- Preface
- 1. Introduction
- I. Single-Node Patterns
- 2. The Sidecar Pattern
- 3. Ambassadors
- 4. Adapters
- II. Serving Patterns
- 5. Replicated Load-Balanced Services
- 6. Sharded Services
- 7. Scatter/Gather
- 8. Functions and Event-Driven Processing
- 9. Ownership Election
- III. Batch Computational Patterns
- 10. Work Queue Systems
- 11. Event-Driven Batch Processing
- 12. Coordinated Batch Processing
- 13. Conclusion: A New Beginning?
- Index
Product information
- Title: Designing Distributed Systems
- Author(s):
- Release date: February 2018
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491983645
You might also like
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
book
Fundamentals of Software Architecture
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …