分布式基础

分布式含义

权威定义

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

分布式作用

分布式的好处

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

分布式与单体结构对比

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

CAP 定理

CAP 的重要性

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

image-20201201222342807

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

集群和分布式

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

集群和微服务

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

微服务和分布式

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