ENGLISH

Understanding Distributed Systems

Book information

Year
2021
ISBN
1838430202
Language
english
Format
PDF
Filesize
10 MB (10801062 bytes)
Pages
\236
Time added
2021-03-22 23:10:48

Description

Copyright About the author Acknowledgements Preface Who should read this book Introduction Communication Coordination Scalability Resiliency Operations Anatomy of a distributed system I Communication Reliable links Reliability Connection lifecycle Flow control Congestion control Custom protocols Secure links Encryption Authentication Integrity Handshake Discovery APIs HTTP Resources Request methods Response status codes OpenAPI Evolution II Coordination System models Failure detection Time Physical clocks Logical clocks Vector clocks Leader election Raft leader election Practical considerations Replication State machine replication Consensus Consistency models Strong consistency Sequential consistency Eventual consistency CAP theorem Practical considerations Transactions ACID Isolation Concurrency control Atomicity Two-phase commit Asynchronous transactions Log-based transactions Sagas Isolation III Scalability Functional decomposition Microservices Benefits Costs Practical considerations API gateway Routing Composition Translation Cross-cutting concerns Caveats CQRS Messaging Guarantees Exactly-once processing Failures Backlogs Fault isolation Reference plus blob Partitioning Sharding strategies Range partitioning Hash partitioning Rebalancing Static partitioning Dynamic partitioning Practical considerations Duplication Network load balancing DNS load balancing Transport layer load balancing Application layer load balancing Geo load balancing Replication Single leader replication Multi-leader replication Leaderless replication Caching Policies In-process cache Out-of-process cache IV Resiliency Common failure causes Single point of failure Unreliable network Slow processes Unexpected load Cascading failures Risk management Downstream resiliency Timeout Retry Exponential backoff Retry amplification Circuit breaker State machine Upstream resiliency Load shedding Load leveling Rate-limiting Single-process implementation Distributed implementation Bulkhead Health endpoint Health checks Watchdog V Testing and operations Testing Scope Size Practical considerations Continuous delivery and deployment Review and build Pre-production Production Rollbacks Monitoring Metrics Service-level indicators Service-level objectives Alerts Dashboards Best practices On-call Observability Logs Traces Putting it all together Final words

Similar books