This is an introduction to the subject of distributed computing. From my personal point of view fails the book to address any of the two viewpoints I am interested on: 1) Distributed algorithms, or 2) Distributed computing tools and software (i.e. real life examples with some source code). Although
Understanding Distributed Systems - 2nd Edition
โ Scribed by Roberto Vitillo
- Year
- 2022
- Tongue
- English
- Leaves
- 346
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Table of Contents
Copyright
About the author
Acknowledgements
Preface
Introduction
Communication
Coordination
Scalability
Resiliency
Maintainability
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
Idempotency
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
Chain replication
Coordination avoidance
Broadcast protocols
Conflict-free replicated data types
Dynamo-style data stores
The CALM theorem
Causal consistency
Practical considerations
Transactions
ACID
Isolation
Atomicity
NewSQL
Asynchronous transactions
Outbox pattern
Sagas
Isolation
III Scalability
HTTP caching
Reverse proxies
Content delivery networks
Overlay network
Caching
Partitioning
Range partitioning
Hash partitioning
File storage
Blob storage architecture
Network load balancing
DNS load balancing
Transport layer load balancing
Application layer load balancing
Data storage
Replication
Partitioning
NoSQL
Caching
Policies
Local cache
External cache
Microservices
Caveats
API gateway
Control planes and data planes
Scale imbalance
Control theory
Messaging
Guarantees
Exactly-once processing
Failures
Backlogs
Fault isolation
IV Resiliency
Common failure causes
Hardware faults
Incorrect error handling
Configuration changes
Single points of failure
Network faults
Resource leaks
Load pressure
Cascading failures
Managing risk
Redundancy
Correlation
Fault isolation
Shuffle sharding
Cellular architecture
Downstream resiliency
Timeout
Retry
Circuit breaker
Upstream resiliency
Load shedding
Load leveling
Rate-limiting
Constant work
V Maintainability
Testing
Scope
Size
Practical considerations
Formal verification
Continuous delivery and deployment
Review and build
Pre-production
Production
Rollbacks
Monitoring
Metrics
Service-level indicators
Service-level objectives
Alerts
Dashboards
Being on call
Observability
Logs
Traces
Putting it all together
Manageability
Final words
๐ SIMILAR VOLUMES
Using numerous real-life examples, Distribution Channels explores the chain that makes products and services available for market and explains how to make the most of each step of the process. By defining the role and significance of the various partners involved, including distributors, wholesalers
For statistics to be used by sociologists, and especially by students of sociology, they must first be easy to understand and use. Accordingly this book is aimed at that legion of professional sociologists and students who have always feared numbers; it employs much visual display, for example, as a
What is understanding and how does it differ from knowledge? How can we determine the big ideas worth understanding? Why is understanding an important teaching goal, and how do we know when students have attained it? How can we create a rigorous and engaging curriculum that focuses on understanding