分布式相关概念
概念
分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调系统。——《分布式系统概念与设计》
-
副本
副本是分布式系统最常见的概念之一,指的是分布式系统对数据和服务提供一种冗余方式。在常见的分布式系统中,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理(即备份)。-
数据副本
数据副本是指在不同的节点上持久化同一份数据,当某个节点上存储的数据丢失时,可以从副本上读取到该数据。(例如:数据库的主从备份) -
服务副本
服务副本是指多个节点提供同样的服务,每个节点都有能力接收来自外部的请求并进行相应的处理。
-
特征
一般情况下,一个分布式系统中的计算机在空间部署上是可以随意分布的,这些计算机可以处于不同的机房,或者不同的城市。因此,一个标准的分布式在没有特定业务逻辑约束的情况下一般具体如下特征:
-
分布式
分布式系统中的多台计算机在空间上可以随意分布,同时机器的分布情况也可以随时变动。 -
对等性
分布式系统中的计算机没有主/从之分,即没有控制整个系统的主机,有没有被控制的从机,组成分布式系统的计算机节点都是对等的。 -
并发性
在一个分布式系统中,不同节点可以并发的操作一些共享资源,例如:数据库或分布式存储等。 -
缺乏全局时钟
由于一个分布式系统是一个由一系列在空间上随意分布的对个进程组成的,进程之间通过消息交换信息来进行通信。因此,在分布式系统中很难第一两个事件之间的先后顺序,原因就是因为分布式系统缺乏一个全局的时钟系列控制。 -
故障总会发生
组成分布式系统的所有计算机,都有可能发生任何形式的故障。一个被大量工程实践所检验过的黄金定理:任何在设计阶段考虑到的异常情况,一定会在系统时间运行中发生,并且,在系统实际运行过程中还会遇到很多在设计时未能考虑到的异常故障。
分布式典型问题
-
通信异常
分布式系统需要再各个节点之间进行网路通信,因此每次网络同行都伴随着网络不可用的风险,网络光纤、路由器或DNS等硬件设备或是系统不可用都会导致最终分布式系统无法顺利完成一次网络通信。 -
网络分区
当网络发生异常情况,导致分布式系统中部分节点之间的网络延时不断增大,最终导致组成分布式系统的所有节点中,只有一部分能够进行正常的通信,而另一部分则不能——我们这种现象为网络分区。 -
三态
三态指在分布式系统中一次请求和响应,存在特有的三种情况:即成功、失败与超时。一般出现超时有以下两种情况:-
由于网络原因,请求消息并没有被成功发送到接收方,而是在发送过程中丢失
-
请求消息成功被及接收方接收后,并进行处理,但是在将响应反馈给发送方的过程中,消息丢失了
-
-
节点故障
节点故障时分布式环境下另一个比较常见的问题,指的是组成分布式系统的服务器节点发生了宕机或“僵死”现象。