patterns and paradigms for scalable, reliable services /
Brendan Burns.
First edition.
Sebastopol, CA :
O'Reilly Media,
2018.
1 online resource
Includes index.
Intro; Copyright; Table of Contents; Preface; Who Should Read This Book; Why I Wrote This Book; The World of Distributed Systems Today; Navigating This Book; Conventions Used in This Book; Online Resources; Using Code Examples; Oâ#x80;#x99;Reilly Safari; How to Contact Us; Acknowledgments; Chapter 1. Introduction; A Brief History of Systems Development; A Brief History of Patterns in Software Development; Formalization of Algorithmic Programming; Patterns for Object-Oriented Programming; The Rise of Open Source Software; The Value of Patterns, Practices, and Components.
Introduction -- Part I. Single-node patterns. The sidecar pattern -- Ambassadors -- Adapters -- Part II. Serving patterns. Replicated load-balanced services -- Sharded services -- Scatter/Gather -- Functions and event-driven processing -- Ownership election -- Part III. Batch computational patterns. Work queue systems -- Event-driven batch processing -- Coordinated batch processing -- Conclusion: A new beginning?
Hands On: Deploying an Ambassador and Memcache for a Sharded CacheAn Examination of Sharding Functions; Selecting a Key; Consistent Hashing Functions; Hands On: Building a Consistent HTTP Sharding Proxy; Sharded, Replicated Serving; Hot Sharding Systems; Chapter 7. Scatter/Gather; Scatter/Gather with Root Distribution; Hands On: Distributed Document Search; Scatter/Gather with Leaf Sharding; Hands On: Sharded Document Search; Choosing the Right Number of Leaves; Scaling Scatter/Gather for Reliability and Scale; Chapter 8. Functions and Event-Driven Processing.
Readiness Probes for Load BalancingHands On: Creating a Replicated Service in Kubernetes; Session Tracked Services; Application-Layer Replicated Services; Introducing a Caching Layer; Deploying Your Cache; Hands On: Deploying the Caching Layer; Expanding the Caching Layer; Rate Limiting and Denial-of-Service Defense; SSL Termination; Hands On: Deploying nginx and SSL Termination; Summary; Chapter 6. Sharded Services; Sharded Caching; Why You Might Need a Sharded Cache; The Role of the Cache in System Performance; Replicated, Sharded Caches.
Standing on the Shoulders of GiantsA Shared Language for Discussing Our Practice; Shared Components for Easy Reuse; Summary; Part I. Single-Node Patterns; Motivations; Summary; Chapter 2. The Sidecar Pattern; An Example Sidecar: Adding HTTPS to a Legacy Service; Dynamic Configuration with Sidecars; Modular Application Containers; Hands On: Deploying the topz Container; Building a Simple PaaS with Sidecars; Designing Sidecars for Modularity and Reusability; Parameterized Containers; Define Each Containerâ#x80;#x99;s API; Documenting Your Containers; Summary; Chapter 3. Ambassadors.
Using an Ambassador to Shard a ServiceHands On: Implementing a Sharded Redis; Using an Ambassador for Service Brokering; Using an Ambassador to Do Experimentation or Request Splitting; Hands On: Implementing 10% Experiments; Chapter 4. Adapters; Monitoring; Hands On: Using Prometheus for Monitoring; Logging; Hands On: Normalizing Different Logging Formats with Fluentd; Adding a Health Monitor; Hands On: Adding Rich Health Monitoring for MySQL; Part II. Serving Patterns; Introduction to Microservices; Chapter 5. Replicated Load-Balanced Services; Stateless Services.
0
0
8
8
8
8
OverDrive, Inc.
Safari Books Online
331ED3F6-41DA-467A-BAE3-2602E15D30C3
CL0500000943
Designing distributed systems.
1491983647
Electronic data processing-- Distributed processing.
System design.
COMPUTERS-- Computer Literacy.
COMPUTERS-- Computer Science.
COMPUTERS-- Data Processing.
COMPUTERS-- Hardware-- General.
COMPUTERS-- Information Technology.
COMPUTERS-- Machine Theory.
COMPUTERS-- Reference.
Electronic data processing-- Distributed processing.