分布式基础

分布式含义

权威定义

利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作。

分布式作用

分布式的好处

  • 增大系统容器
  • 加强系统可用性
  • 因为模块化,所有系统模块重用度更高
  • 因为软件服务模块被拆分,开发和发布速度可以并行而变得快
  • 系统扩展性更高
  • 团队协作、技术升级更容易

分布式与单体结构对比

单体架构 分布式架构
新人的学习成本 业务逻辑成本高 架构逻辑成本高
部署、运维 容易 发布频繁、发布顺序复杂、运维难
隔离性 一损俱损,殃及鱼池 故障影响范围小
架构设计 难度低 难度巨大
系统性能 响应快、吞吐量小 响应慢、吞吐量大
测试成本 很高
技术多样性 技术单一且封闭 技术多样且开放
系统扩展性 扩展性差 扩展性很好
系统管理成本 成本低 成本高

CAP 定理

CAP 的重要性

  • C(Consistency,一致性):读操作是否总能读到前一个写操作的结果
  • A(Availability,可用性):非故障节点应该在合理的时间内做出合理的响应
  • P(Partition tolerance,分区容错性):当出现网络分区现象后,系统能够继续运行

image-20201201222342807

集群、分布式、微服务的区别

集群和分布式

  • 分布式:一个业务拆分为多个子业务,部署在不同的服务器上
  • 集群:同一个业务,部署在多个服务器上

集群和微服务

  • 集群:分散压力
  • 微服务:分散能力

微服务和分布式

  • 微服务是架构设计方式
  • 分布式是系统部署方法