分布式技术原理与算法解析 学习笔记 (1)

分布式技术原理与算法解析 学习笔记 第一章

分布式系统初识

典型的分布式系统:

  • DNS(域名系统):将域名和IP地址相互映射的分布式数据库,使人更容易访问互联网。
  • Blockchain(区块链):分布式账本

分布式系统定义(wiki):

A distributed system is a system whose components are located on different networked computers (组件分布式部署), which communicate and coordinate their actions by passing messages to one another(分布式协调通信). The components interact with one another in order to achieve a common goal(共同目标).

分布式系统研究的基本问题:
image.png

自底而上:异构的资源如何池化,进程间如何通信,数据如何分布式存储,分布式计算

技术栈:分布式协同, 分布式调度,分布式追踪与高可用,分布式部署

**业务架构设计的四大要素:**资源(CPU,内存,GPU,网络等),通信,数据存储,计算

分布式的来源

单机系统缺陷:性能受限,单点失效

  • 数据分布式(数据并行):适用于任务简单,数据量大,类型相同且彼此之间无依赖
    image.png
    image.png
    image.png
  • 任务分布式(任务并行):任务复杂,但可拆分成多个子任务
    image.png

问题:分布式与传统并行计算的区别?

答:传统并行计算:share memory;分布式:distributed memory

分布式系统的基本指标

  • 性能指标:吞吐量(QPS, TPS, BPS),响应时间,完成时间
  • **资源占用:**空载资源, 满载资源
  • **可用性:**在部分组件故障情况下系统失效的概率
  • **可扩展性:**通过扩展集群机器规模提高系统性能 、存储容量、计算能力的特性(加速比,speedup)