01-分布式基础

nobility 发布于 2022-06-12 715 次阅读


分布式基础

分布式的广义定义:多台计算机组成一个整体,一致对外并且处理同一请求,内部的每台计算机都可以通过http/rpc相互通信,客户端到服务端端一次请求到响应结束会经历多台计算机

分布式的权威定义:利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作

  1. 由于业务量的增加,项目也越来越臃肿,一个单体应用无法抗压
  2. 将单个系统搭建在多个服务器上,通过负载均衡分发请求,但是运行和效率低下,因为系统的某些模块使用率低下、改动系统依赖版本困难
  3. 所以将模块功能进行拆分分别部署,将使用率多的模块分配更多物理资源,反之分配少的物理资源

分布式和单体应用对比

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

CAP定理

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

分布式不可能同时满足CAP三个条件,最多只能满足两个条件,因为对于一个分布式系统来说,网络传输不是特别稳定,所以要么满足CP,要么满足AP

  • AP场景:CDN访问加速门户网站场景
  • CP场景:支付、交易场景

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

集群 分布式 微服务
同一个业务,部署在多个服务器上 一个业务拆分多个子业务,部署在不同服务器上
分散压力 分散能力
系统部署方式,物理架构 架构设计方式,逻辑架构
此作者没有提供个人介绍
最后更新于 2022-06-12