分布式系统理解

发布时间 2023-10-15 05:29:55作者: 3DG

什么是分布式系统

任务在多个相对独立的物理节点上进行(即软件或硬件分布在不同的计算机设备上)简单说,就是不同的业务模块,部署在不同服务器。彼此通过消息传递进行通信。解决了高并发问题。

分布式特点

CAP:代表了分布式系统的三个相互矛盾的属性

1.Consistency(一致性):

访问所有节点,得到的数据一致。这里的一致性特指强一致性(数据更新完,访问任意节点,得到数据完全一致)//其他一致性详见另一篇博客

2.Availiablity(可用性):

指系统提供的服务必须一直处于可用的状态。所有节点保持高可用性(指不能出现延迟,例如某节点因等待数据而阻塞请求)

3.Partiton tolerance(分区容错性):

网络分区,遇到任何网络分区故障,节点间不能通信,要保障系统可以继续提供服务。

为何引入分布式

为了解决传统单体服务架构的各种问题,分布式是相对于中心化而来的。

分布式与集群的区别

分布式概念见上

集群:同一业务部署在多台计算机设备上,提高系统可用性。就是处理某一任务的机器集合。

分布式可以运行在某集群里,某集群可以视为分布式的一个节点。

分布式优点

1.高可用性:传统方式遇见单点故障可能会导致服务不可用,分布式则可以解决这个问题。

2.高并发(水平扩展:简单说,当现有设备不能满足需求时,可以通过增加机器数量,提升性能)

3.系统容错能力高

4.低延迟(例如用户发送请求,服务器根据用户IP选择距离最近设备)

分布式缺点

1.网络通信:网络的不可靠性带来的网络通信问题

2.系统复杂化

3.CAP无法完美满足

分布式和微服务的关系

采用微服务,即系统一定是分布式。