Foundations of Scalable Systems
Book information
Description
Preface Why Scalability? Who This Book Is For What You Will Learn I. Scalability in Modern Software Systems 1. Introduction to Scalable Systems What is Scalability? System scale in early 2020’s: Examples How Did We Get Here? A Brief History of System Growth Scalability Basic Design Principles Scalability and Costs Scalability and Architecture Trade-offs Performance Availability Security Manageability Summary and Further Reading References 2. Distributed Systems Architectures: An Introduction Basic System Architecture Scale Out Scaling the Database with Caching Distributing the Database Multiple Processing Tiers Increasing Responsiveness Systems and Hardware Scalability Summary and Further Reading 3. Distributed Systems Essentials Communications Basics Communications Hardware Communications Software Remote Method Invocation Partial Failures Consensus in Distributed Systems Time in Distributed Systems Summary and Further Reading 4. An Overview of Concurrent Systems Why Concurrency? Threads Order of Thread Execution Problems with Threads Race Conditions Deadlocks Thread States Thread Coordination Thread Pools Barrier Synchronization Thread-Safe Collections Summary and Further Reading 5. Application Services Service Design Application Programming Interface (API) Designing Services State Management Applications Servers Horizontal Scaling Load Balancing Load Distribution Policies Health Monitoring Elasticity Session Affinity Summary and Further Reading 6. Distributed Caching Application Caching Web Caching Cache-Control Expires and Last-Modified Etag Summary and Further Reading 7. Asynchronous Messaging Introduction to Messaging Messaging Primitives Message Persistence Publish-Subscribe Message Replication Example: RabbitMQ Messages, Exchanges, and Queues Distribution and Concurrency Data Safety and Performance Trade-offs Availability and Performance Trade-offs Messaging Patterns Competing Consumers Exactly-Once Processing Poison Messages Summary and Further Reading 8. Serverless Processing Systems The Attractions of Serverless Google App Engine The Basics GAE Standard Environment AutoScaling AWS Lambda Lambda Function Lifecycle Execution Considerations Scalability Case Study: Balancing Throughput and Costs Choosing Parameter Values GAE Autoscaling Parameter Study Design Results Summary and Further Reading About the Author
Similar books
Essential Software Architecture
2006 · PDF
Foundations of Scalable Systems: Designing Distributed Architectures
2022 · PDF
Foundations of Scalable Systems: Designing Distributed Architectures
2022 · EPUB
Foundations of Scalable Systems
2022 · PDF
Foundations of Scalable Systems
2022 · EPUB
Software Engineering for Parallel and Distributed Systems: Proceedings of the First IFIP TC10 International Workshop on Parallel and Distributed Software Engineering, March 1996
1996 · PDF
Data-Intensive Computing: Architectures, Algorithms, and Applications
2012 · PDF
Architectures for Adaptive Software Systems: 5th International Conference on the Quality of Software Architectures, QoSA 2009, East Stroudsburg, PA, USA, June 24-26, 2009 Proceedings
2009 · PDF