分布式技术原理学习笔记二
课程来源:极客时间https://time.geekbang.org/column/article/140016,推荐大家购买学习。
分布式的目的是用更多的机器,处理更多的数据和更复杂的任务。
分布式技术设计好坏的三个重要指标分别是:性能、资源、可扩展性与可用性。
性能
用于衡量一个系统处理各种任务的能力
- 吞吐量(Throughput):系统在一定时间内可以处理的任务数。常见的吞吐量指标有 QPS(Queries Per Second)、TPS(Transactions Per Second)和 BPS(Bits Per Second)。QPS:每秒查询的次数,描述系统的读取能力。TPS:每秒的事务次数,描述系统处理事务的能力,通常是指写能力。BPS:每秒的比特数,描述系统的处理能力。
- 响应时间:系统响应一个请求或输入需要花费的时间。响应时间直接影响到用户体验,对于时延敏感的业务非常重要。
- 完成时间:系统真正完成一个请求或处理需要花费的时间。任务并行(也叫作任务分布式)模式出现的其中一个目的,就是缩短整个任务的完成时间。
资源
主要是用资源占用来描述,一个系统提供正常能力需要占用的硬件资源,比如 CPU、内存、硬盘等。又分为
- 空载资源占用:系统无负载时对资源的占用。
- 满载资源占用:系统满额负载时的资源占用。
可用性
通常指的是系统在面对各种异常时可以正确提供服务的能力。可用性是分布式系统的一项重要指标,衡量了系统的鲁棒性,是系统容错能力的体现。
- 可用性可以用系统停止服务的时间与总的时间之比衡量。
- 也可以用功能的失败次数与总的请求次数之比进行衡量。
可扩展性
指的是分布式系统通过扩展集群机器规模提高系统性能 (吞吐、响应时间、 完成时间)、存储容量、计算能力的特性,是分布式系统的特有性质。