分布式, 算法,

《分布式技术原理与算法解析》笔记

波斯王子 波斯王子 Follow Jul 10, 2021 · 1 min read
《分布式技术原理与算法解析》笔记
Share this

分布式技术四纵四横

前言

1. 分布式是什么?

分布式其实就是将相同或相关的程序运行在多台计算机上,从而实现特定目标的一种计算方式。产生分布式的最主要驱动力量,是我们对于性能、可用性及可扩展性的不懈追求。

单机模式 -> 数据并行(也叫作数据分布式)模式 -> 任务并行(也叫作任务分布式)模式。

何时采用数据并行或者任务并行呢?一个简单的原则就是:任务执行时间短,数据规模大、类型相同且无依赖,则可采用数据并行;如果任务复杂、执行时间长,且任务可拆分为多个子任务,则考虑任务并行。在实际业务中,通常是这两种模式并用。

2. 分布式系统的指标

性能、资源、可用性和可扩展性是分布式系统的重要指标。没错,它们就是分布式系统的“三围”。

性能

包括:

  • 吞吐量(Throughput):QPS(Queries Per Second)、TPS(Transactions Per Second)和 BPS(Bits Per Second)
  • 响应时间(Response Time)
  • 完成时间(Turnaround Time)

资源占用

看空载资源占用 和 满载资源占用。

可用性

看系统停止服务的时间与总的时间之比衡量或某功能的失败次数与总的请求次数之比来衡量。

可扩展性

可扩展性,指的是分布式系统通过扩展集群机器规模提高系统性能 (吞吐量、响应时间、 完成时间)、存储容量、计算能力的特性,是分布式系统的特有性质。也就是水平扩展系统规模。

好的分布式系统总是在追求“线性扩展性”,也就是说系统的某一指标可以随着集群中的机器数量呈线性增长。

衡量系统可扩展性的常见指标是加速比(Speedup),也就是一个系统进行扩展后相对扩展前的性能提升。

分布式协调与同步

1. 分布式互斥

Join Newsletter
Get the latest news right in your inbox. We never spam!
波斯王子
Written by 波斯王子 Follow
去读书吧,发现不一样的世界!😉