分布式学习笔记(一)

分布式起源

    从单机模式到数据并行(数据分布式)模式,再到任务并行(任务分布式)模式 。
  • 单机模式:所有业务和数据均部署到通一台机器上。这种模式的好处是功能、代码和数据集中,便于维护、管理和执行,但计算效率是瓶颈。也就是说单机模式性能受限,存在单点失效的问题。
  • 数据并行:对数据进行拆分,利用多台计算机并行执行多个相同任务,通过在相同的时间内完成多个相同任务,从而缩短所有任务的总体执行时间,但对提升单个任务的执行性能及降低时延无效。
  • 任务并行:单任务拆分成多个子任务,多个子任务并行执行,该模式在提高性能、扩展性、可维护性等的同时,也带来了设计上的复杂性问 题,比如复杂任务的拆分。
 

分布式是什么

   分布式是将相同或相关的程序运行在多台计算机上,从而实现特定目标的一种计算方式。

分布式四纵四横知识体系

  • 分布式资源池化
  • 分布式通信
  • 分布式数据存储与管理
  • 分布式计算
-在一定资源上,进行一定通信,通过一定计算, 完成一定数据的加工和处理,从而对外提供特定的服务。
 
 

分布式系统的指标

  • 性能(Performance):主要用于衡量一个系统处理各种任务的能力。
    • 吞吐量(Throughput):系统在一定时间内可以处理的任务数。
      • QPS(Queries Per Second):即查询数每秒,用于衡量一个系统每秒处理的查询数。
      • TPS(Transactions Per Second):即事务数每秒,用于衡量一个系统每秒处理的事务数。
      • BPS(Bits Per Second):即比特数每秒,用于衡量一个系统每秒处理的数据量。对于一些网络系统、数据管理系统,我们不能简单地按照请求数或事务数来衡量其性能。因为请求与请求、事务与事务之间也存在着很大的差异,比方说,有的事务大需要写入更多的数据。那么在这种情况下,BPS 更能客观地反应系统的吞吐量。
    • 响应时间(Response Time):系统响应一个请求或输入需要花费的时间
    • 完成时间(Turnaround Time):系统真正完成一个请求或处理需要花费的时间。
  • 资源占用(Resource Usage):一个系统提供正常能力需要占用的硬件资源,比如 CPU、内存、硬盘等。
    • 空载资源占用:一个系统在没有任何负载时的资源占用。
    • 满载资源占用:一个系统满额负载时的资源占用。
  • 可用性(Availability):指系统在面对各种异常时可以正确提高服务的能力;可用性是分布式系统的一项重要指标,衡量了系统的鲁棒性,是系统容错能力的体现。
    • 可用系统停止服务的时间与总时间之比/某功能的失败次数与总请求次数之比来衡量。
    • 可靠性(Reliability)与可用性的区别
-可靠性通常用来表示一个系统完全不出故障的概率,更多地用在硬件领域。而可用性则更多的是指在允许部分组件失效的情况下,一个系统对外仍然能正常提供服务的概率。
  • 可扩展性(Scalability):分布式系统通过扩展集群机器规模提高系统性能(吞吐、响应时间、完成时间)存储容量、计算能力的特性。
    • 加速比(Speedup):衡量系统可扩展性的常见指标,即一个系统进行扩展后相对扩展前的性能提升。
      • 提高系统吞吐量:用扩展后和扩展前的系统吞吐量之比进行衡量。
      • 缩短完成时间:用扩展前和扩展后的完成时间之比进行衡量。
    不同场景下分布式系统的指标
 
 
 
 
posted @ 2020-04-28 19:57  %hahahaha%  阅读(268)  评论(0编辑  收藏  举报