分布式基础理论

分布式基础理论

分布式特性和分类

分布式特性

  • 性能:用于衡量一个系统处理各种任务的能力。
    • 吞吐量:系统在一定时间内可以处理的任务数。
      • QPS,即每秒查询数
      • TPS,即每秒事务数
    • 响应时间:系统响应一个请求或输入需要花费的时间。
  • 可用性:指的是系统在面对各种异常时可以正确提供服务的能力。系统的可用性可以用系统停止服务的时间与总的时间之比衡量。
  • 可扩展性:指的是分布式系统通过扩展集群机器规模提高系统性能 (吞吐、响应时间、 完成时间)、存储容量、计算能力的特性,是分布式系统的特有性质。

分布式分类

  • 分布式计算:解决应用的分布式计算问题。基于分布式计算模式,包括批处理计算、离线计算、在线计算、融合计算等,根据应用类型构建高效智能的分布式计算框架。
  • 分布式存储:解决数据的分布式和多元化问题。包括分布式数据库、分布式文件系统、分布式缓存等,支持不同类型的数据的存储和管理。
  • 分布式通信:解决进程间的分布式通信问题。通过消息队列、远程调用等方式,实现简单高效的通信。
  • 分布式资源管理:解决资源的分布式和异构性问题。将 CPU、内存、IO 等物理资源虚拟化,新城逻辑资源池,以便统一管理。

错误的分布式假设

内容摘自 The Eight Fallacies of Distributed Computing - Tech Talk

随着时间的推移,每一条都会被证明是错误的,也都会导致严重的问题,以及痛苦的学习体验:

  • 网络是稳定的
  • 网络传输的延迟是零
  • 网络的带宽是无穷大
  • 网络是安全的
  • 网络的拓扑不会改变
  • 只有一个系统管理员
  • 传输数据的成本为零
  • 整个网络是同构的

为什么我们要深刻地认识这 8 个错误?

是因为,这要我们清楚地认识到——分布式系统中,错误是不可能避免的。既然错误无可避免,那么,我们应该做的是,将容错也作为功能去实现。

参考资料