分布式事务

一、分布式事务

1.1 什么是分布式事务

1.2 CAP定理

CAP 定理,又被叫作布鲁尔定理。对于设计分布式系统(不仅仅是分布式事务)的架构师来说,CAP 就是你的入门理论。

  • Consistency(一致性)

对某个指定的客户端来说,读操作能返回最新的写操作。

对于数据分布在不同节点上的数据来说,如果在某个节点更新了数据,那么在其他节点如果都能读取到这个最新的数据,那么就称为强一致,如果有某个节点没有读取到,那就是分布式不一致。

  • Availability(可用性)

    • 保证服务一定是可用,即收到用户请求,无论数据是否是正确的版本,服务是能响应数据的
    • 不允许出现响应超时或响应错误

如何实现的?
1、写入主数据后要将数据同步到从数据库。
2、由于要保证可用性、不可讲从数据库中的资源进行锁定
3、即使数据还没有同步过来,从数据库也要返回数据,哪怕数旧数据,也要返回。即使没有旧数据也要按照约定返回一个默认的信息(类似于熔断),但不能返回错误或响应超时

  • Partition tolerance(分区容错性)
    • 当出现网络分区后(各个服务不在同一个子网),系统能够继续工作。
    • 比如集群有多台机器,有台机器网络出现了问题,但是这个集群仍然可以正常工作。

如何实现?

1、尽量使用一步的方式取代同步,这样节点之间能有效实现松耦合
2、添加从数据库节点,其中一个节点挂掉从其他节点获取数据。

三者不能共有,如果感兴趣可以搜索 CAP 的证明,在分布式系统中,网络无法 100% 可靠,分区其实是一个必然现象。

如果我们选择了 CA 而放弃了 P,那么当发生分区现象时,为了保证一致性,这个时候必须拒绝请求,但是 A 又不允许,所以分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。

1.3 BASE定理

二、分布式事务解决方案

2.1、 基于XA协议的两阶段提交(2PC)

2.2、补偿事务(TCC)3PC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值