Introduction
Video: https://www.youtube.com/watch?v=cQP8WApzIQQ
Why distributed system
- Parrellism
- Fault tolerance
- Physical reason
- Security reason, need to create isolated environment
Challenges:
- Concurrency
- Partial failure
- Performance
Infrastructure
- Storage
- Communication
- Computation
Tools
- RPC: for communication
- Threads
- Concurrency control
Performance:
- Scalability: 2x computer results in 2x performance
- Fault Tolerance:
- Availability
- Recoverability
- Solution:
- Non-vault storage: expensive to update
- Replication
Consistency
- Put (key, value)
- Get (key) -> value