1.什么是分布式事务
①分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。
②本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
2.什么是分布式系统
部署在不同节点上的系统通过网络交互来完成协同工作的系统。
3. CAP定理
①CAP 定理,又被叫作布鲁尔定理。对于设计分布式系统(不仅仅是分布式事务)的架构师来说, CAP 就是你的入门理论。指在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)三部分要素。
②这三个要素最多只能同时实现两点,不可能三者兼顾。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。
a.C (一致性Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值。
b.A (可用性Availability):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。
c.P (网络分区容错性Partition tolerance):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
组合 | 分析结果 |
CA | 满足一致性和可用性,放弃分区容错性。 说白了,就是一个单体应用。 |
CP | 满足一致性和分区容错性,放弃可用性。 当系统被分区,为了保证一致性,必须放弃可用性,停止所有服务。 |
AP | 满足可用性和分区容错性,放弃一致性。 当出现分区同时为了保证可用性,必须让节点继续对外服务,这就意味着你的系统在并发访问的时候,可能出现数据不一致的情况。 |
在分布式系统设计中AP的应用较多,即保证分区容忍性和可用性,牺牲数据的强一致性(写操作后立刻读取到最新数据),保证数据最终一致性(弱一致性)。