分布式基础
分布式含义
权威定义
利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作。
分布式作用
分布式的好处
- 增大系统容器
- 加强系统可用性
- 因为模块化,所有系统模块重用度更高
- 因为软件服务模块被拆分,开发和发布速度可以并行而变得快
- 系统扩展性更高
- 团队协作、技术升级更容易
分布式与单体结构对比
单体架构 | 分布式架构 | |
---|---|---|
新人的学习成本 | 业务逻辑成本高 | 架构逻辑成本高 |
部署、运维 | 容易 | 发布频繁、发布顺序复杂、运维难 |
隔离性 | 一损俱损,殃及鱼池 | 故障影响范围小 |
架构设计 | 难度低 | 难度巨大 |
系统性能 | 响应快、吞吐量小 | 响应慢、吞吐量大 |
测试成本 | 低 | 很高 |
技术多样性 | 技术单一且封闭 | 技术多样且开放 |
系统扩展性 | 扩展性差 | 扩展性很好 |
系统管理成本 | 成本低 | 成本高 |
CAP 定理
CAP 的重要性
- C(Consistency,一致性):读操作是否总能读到前一个写操作的结果
- A(Availability,可用性):非故障节点应该在合理的时间内做出合理的响应
- P(Partition tolerance,分区容错性):当出现网络分区现象后,系统能够继续运行
集群、分布式、微服务的区别
集群和分布式
- 分布式:一个业务拆分为多个子业务,部署在不同的服务器上
- 集群:同一个业务,部署在多个服务器上
集群和微服务
- 集群:分散压力
- 微服务:分散能力
微服务和分布式
- 微服务是架构设计方式
- 分布式是系统部署方法