分布式环境下面临的问题
通信异常
分布式系统需要在各个节点之间进行网络通信,且延时会远大于单机操作。
网络分区
当网络由于发生异常情况,导致分布式系统中部分节点之间网络延时不断增大,最终导致组成分布式系统的所有节点中,只有部分节点之间能够进行正常通信,而另一些节点则不能。该现象称为网络分区,也就是脑裂
三态
分布式系统的每一次请求和响应存在特有的三态概念,即成功、失败与超时(传统单机中是成功或失败)。超时有两种情况
- 由于网络原因,该请求并没有被成功地发送到接收方,而是在发送过程就发生了消息丢失现象
- 该请求成功的被接收方接收后,进行了处理,但是在将响应反馈给发送方的过程中,发生了消息丢失现象
此时,发起方是无法确定当前请求是否被成功处理
节点故障
分布式系统中某节点可能会出现宕机或僵死现象。