Distributed System 零
分布式系统笔记。欢迎捉虫 。
版权和知识属于CMU壹伍陆肆零,OOC属于我。我不拥有任何知识我只是知识的搬运工。
“舍岂能为必胜哉?能无惧而已矣”
。。。表白讲师Daniel❤!表白大佬TAs:zly/Devdeep/Felipe/Vamshi/ljh/Sandeep!感谢他们带来体验这么好的DS!虽然我渣,但这届DS值得被爱❤
Distributed System is the best course I have ever had here. Thanks to all instructors.
*DS笔记系列所有英文部分属于CMU ❤\(//∇//)\ 中文是我瞎理解+瞎写
*图片都来自CMU DS课件
*All English parts including plots come from CMU lectures, copyrights reserved.
Introduction
Distributed System:A collection of independent computers that appears to its users as a single coherent system
Characters:
- Present a single-system image
- Easily expandable
- Continuous availablility
- Supported by middleware
学习目标:DS听起来很厉害Danile实在是很有魅力所以想学一下 学习分布式系统的实例和理论
Goals:
- Resource Availability: sharing and enhanced performance
- Transparency: for eaiser use
- Openness: to support interoperability, portability, extensibility
- Scalability: geopgrphic distribution, administrative domains
简而言之,DS这门课主要介绍了对于分布式的几个主要的问题(Lantency, Consistency, Fault-tolerance, Resource Sharing) 应用的算法和技术,以及目前分布式系统的一些实例学习。
DanielOH的板书,想到以后应该是没机会再听他讲课了,舍不得删(;´༎ຶД༎ຶ`),版权属于Daneil。啊顺便说有谁知道如何不用css语法之用md语法把好多张图片放到同一行里怎么弄么_(:з」∠)_
Daneil的板书
唔 出现的所有板书照片版权属于Daniel (其实我只是留个纪念)
*All copyright of notes belong to Daniel, Mistakes belong to me :-)
言归正传,所有的内容围绕着以下展开~
DS的主要内容
主要的Challenges:
- 响应时间 Latency
- 一致性 Consistency
- 容错 Fault-tolerance
- 资源共享 Resource-Sharing
- 同步 Time-Synchronization
- 安全 Security
所以对应的使用的技术:
- 缓存 Cacheing
- 存活时间 TTL(TimeToLife)/回调 Callback/分布式互斥锁 Distributed Mutex/2PC
- PAXOS/Primary Backup/拜占庭问题 BFT PBFT/Log&Recovery
- 磁盘阵列 RAID(0,1,4,5)/可靠性计算 MTTF等
- 隔离 Isolation
- 各种时钟 (Christians/Lamport total 是最重要的两个,因为可以keep global time)
案例学习:
- 域名服务器 /内容投递网络 DNS/CDN
- 各种分布式文件系统 NFS/AFS/GFS
- 谷歌分布式数据库 Spanner
- 虚拟机和容器控件 VMs/Containers
Projects:
-
P0: Key-value message system
-
P1: Distributed Bitcoin Miner
-
P2: Tribbler
-
P3: Raft (可怜由于某种原因我们没有PAXOS嘤嘤)
这是没有回收的指针:
经典同步 Classical Synchronization & Concurrency
分布式文件系统 Distributed File System
分布式互斥锁和一致性 Distributed Mutex & Concurrency
域名服务器、内容分发网络和域名 DNS/CDN & Naming
哈希和区块链 Hashing & P2P/Blockchains
拜占庭容错 Byzantine Fault Tolerance