分布式基础理论
分布式基础理论
分布式特性和分类
分布式特性
- 性能:用于衡量一个系统处理各种任务的能力。
- 吞吐量:系统在一定时间内可以处理的任务数。
- QPS,即每秒查询数
- TPS,即每秒事务数
- 响应时间:系统响应一个请求或输入需要花费的时间。
- 吞吐量:系统在一定时间内可以处理的任务数。
- 可用性:指的是系统在面对各种异常时可以正确提供服务的能力。系统的可用性可以用系统停止服务的时间与总的时间之比衡量。
- 可扩展性:指的是分布式系统通过扩展集群机器规模提高系统性能 (吞吐、响应时间、 完成时间)、存储容量、计算能力的特性,是分布式系统的特有性质。
分布式分类
- 分布式计算:解决应用的分布式计算问题。基于分布式计算模式,包括批处理计算、离线计算、在线计算、融合计算等,根据应用类型构建高效智能的分布式计算框架。
- 分布式存储:解决数据的分布式和多元化问题。包括分布式数据库、分布式文件系统、分布式缓存等,支持不同类型的数据的存储和管理。
- 分布式通信:解决进程间的分布式通信问题。通过消息队列、远程调用等方式,实现简单高效的通信。
- 分布式资源管理:解决资源的分布式和异构性问题。将 CPU、内存、IO 等物理资源虚拟化,新城逻辑资源池,以便统一管理。
错误的分布式假设
内容摘自 The Eight Fallacies of Distributed Computing - Tech Talk
随着时间的推移,每一条都会被证明是错误的,也都会导致严重的问题,以及痛苦的学习体验:
- 网络是稳定的
- 网络传输的延迟是零
- 网络的带宽是无穷大
- 网络是安全的
- 网络的拓扑不会改变
- 只有一个系统管理员
- 传输数据的成本为零
- 整个网络是同构的
为什么我们要深刻地认识这 8 个错误?
是因为,这要我们清楚地认识到——分布式系统中,错误是不可能避免的。既然错误无可避免,那么,我们应该做的是,将容错也作为功能去实现。
参考资料
- The Eight Fallacies of Distributed Computing - Tech Talk - 分布式系统新手常犯的 8 个错误,并探讨了其会带来的影响。
- Distributed Systems for Fun and Profit - 一本学习小册,涵盖了分布式系统中的关键问题,包括时间的作用和不同的复制策略。
- A Note on Distributed Systems - 这是一篇经典的论文,讲述了为什么在分布式系统中,远程交互不能像本地对象那样进行。
- Amazon’s Highly Available Key-value Store
- CAP Theorem
- CAP twelve years later: How the “rules” have changed
- CAP 定理的含义 - by 阮一峰
- 神一样的 CAP 理论被应用在何方
- BASE: An Acid Alternative