1.环境问题

  • 通信异常
    分布式系统将原有的单机通信,变为各个节点依赖网络进行通信,由于网络本身的不可靠性,都会导致分布式系统无法顺利的完成一次网络通信。即使完成了一次通信,我们也要考虑时间上的延迟。
  • 网络分布(脑裂)
    分布式系统部分网络延迟增大,导致只有部分节点之间可以正常通信,这些局部小集群会独立完成原本需要整个分布式系统才能完成的功能,包括对数据的事务处理,对分布式的一致性有很大影响。
  • 三态
    成功、失败和超时(比单机操作会多一个超时的状态)。
  • 节点故障
    服务器节点出现的宕机或者僵死的现象。

2.数据问题

  • 事务
    对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。事务具备原子性、一致性、隔离性、持久性。简称事务的ACID特性。
    • 原子性
      事务中各项操作要么 全部执行成功,要么全不执行
    • 一致性
      执行的过程中不能破坏数据库中数据的完整性。
    • 隔离性
      并发的事务是相互隔离的。一个事务的执行,不能被其他的事务干扰。
    • 持久性
      事务一旦提交,对数据库中数据的变更就是永久性的。