分布式基础

分布式含义

权威定义

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

分布式作用

分布式的好处

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

分布式与单体结构对比

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

CAP 定理

CAP 的重要性

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

image-20201201222342807

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

集群和分布式

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

集群和微服务

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

微服务和分布式

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