【DDD】学习笔记-分布式柔性事务

分布式柔性事务

倘若限界上下文之间采用跨进程通信,且遵循零共享架构,各个限界上下文访问自己专有的数据库,这时的架构就演变为微服务风格。微服务架构不能绕开的一个问题,就是如何处理分布式事务。如果微服务访问的资源支持 X/A 规范,可以采用诸如二阶段提交协议等分布式事务来保证数据的强一致性。当一个系统的并发访问量越来越大,分区的节点越来越多时,用这样一种分布式事务去维护数据的强一致性,成本是非常昂贵的。

作为典型的分布式系统,微服务架构受到CAP平衡理论的制约。所谓的 CAP 就是 Consistency(一致性)、Availablity(可用性)和 Partition-tolerance(分区容错性)的缩写:

  • 一致性:要求所有节点每次读操作都能保证获取到最新数据;
  • 可用性:要求无论任何故障产生后都能保证服务仍然可用;
  • 分区容错性:要求被分区的节点可以正常对外提供服务。

CAP 平衡理论是 Eric Brewer 教授在 2000 年提出的猜想,即“一致性、可用性和分区容错性三者无法在分布式系统中被同时满足,并且最多只能满足其中两个!”这一猜想在 2002 年得到 Lynch 等人的证明。由于分布式系统必然需要保证分区容忍性,在这一前提下,就只能在可用性与一致性二者之间进行取舍。如果要追求数据的强一致性,就只有牺牲系统的可用性,保障强一致性的手段就是遵循XA协议的方案包括二阶段提交协议,以及基于它进行改进的三阶段提交协议。

许多业务场景对数据一致性要求并非不能妥协。这个时候BASE理论就体现了另一种平衡思

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农丁丁

你的认可是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值