Designing distributed systems : patterns and paradigms for scalable, reliable services /
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Sebastopol, CA :
O'Reilly Media,
2018.
|
Edición: | First edition. |
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- 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?
- 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.
- 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.
- 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.
- 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.