分布是理论
分布式概述
分布式系统是计算机程序的集合,利用多个独立计算的节点的计算资源来实现共同目标,一般分布式会涉及到分布式计算、分布式存储、分布式数据库等
分布式的一些优点优势在于去中心化、低成本、弹性好、资源共享、可靠性高等,但也面临者一些挑战如节点的故障、不可靠的网络、异构的机器与硬件环境以及安全性问题等
在学习者和使用者的WHW
使用者
- Why
- 数据爆炸,对于存储和计算的有大规模的运用的述求
- 成本低,构建在廉价的服务器之上
- How
- 分布式的架构
- 成熟的分布式系统
- What
- 理清规模,负载 一致性要求等
- 明确稳定性要求,指定技术方案
学习者
- Why
- 后端开发必备技能
- 帮助理解后台服务器之间的协作的机理
- How
- 掌握分布式理论
- 了解一致性原则
- What
- 要点的深入展开,针对难点搜索互联网资料的学习
- 所学应用于实践
一些分布式系统
- 分布式存储
- 谷歌分布式存储系统 Google File System(GFS)
- 统一的分布式存储系统 Ceph
- 基于 GFS 架构的开源的分布式文件系统 Hadoop HDFS
- 高可用分布式数据管理与系统协调框架 Zookeeper
- 分布式数据库
- Google 可扩展的、全球分布式的数据库 Google Spanner
- 开源分布式关系数据库 TiDB
- 开源Nosql数据库 HBase
- 文档数据库 MongoDB
- 分布式计算
- 基于MapReduce分布式计算框架 Hadoop
- Spark 在Hadoop的基础上,使用内存进行数据的存储
- YARN 分布式资源调度
系统模型
- Byzantime failure 节点可以任意篡改发送给其他节点的数据
- Authentication detectable byzantime failurA(ADB) 属于 Byzantime failure 的特例,可以修改其他节点的数据,但是不能够伪造其他节点进行数据的发送
- Performance failure 节点未在特定的时间进行数据的发送(过早或者过晚)
- Omission failure 节点收到数据的时间无限晚(收不到数据)
- Crash failure 在 omissions failure 的基础上,增加节点停止响应的假设,发生持续性的 omissions failure
- Fail-stop failure 在 crash failure 的基础上增加了错误可检测的假设