分布式事务

分布式事务服务(Distributed Transaction Service,DTS)是一个分布式事务框架,用来保障在大规模分布式环境下事务的最终一致性。

CAP理论告诉我们在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的,所以我们只能在一致性和可用性之间进行权衡。

为了保障系统的可用性,互联网系统大多将强一致性需求转换成最终一致性的需求,并通过系统执行幂等性的保证,保证数据的最终一致性。

数据一致性

数据一致性理解:

强一致性:当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的,就是用户上一次写什么,下一次就保证能读到什么。根据 CAP 理论,这种实现需要牺牲可用性。

弱一致性:系统并不保证后续进程或者线程的访问都会返回最新的更新过的值。系统在数据写入成功之后,不承诺立即可以读到最新写入的值,也不会具体的承诺多久之后可以读到。

最终一致性:弱一致性的特定形式。系统保证在没有后续更新的前提下,系统最终返回上一次更新操作的值。在没有故障发生的前提下,不一致窗口的时间主要受通信延迟,系统负载和复制副本的个数影响。DNS 是一个典型的最终一致性系统。

拓展阅读

  • 理论

CAP 原理

Paxos 算法

Raft 算法

一致性 hash 算法

  • no sql

nosql talk

  • 分布式事务

jta-分布式事务 API/XA

TCC-Try-Confirm-Cancel

2PC-二段式提交

补偿模式

SQL 分布式事务, 二段提交, 本地消息表, Saga 事务, 最大努力通知

本地消息表-MQ实现

NWR 模型

开源框架

  • 框架

hmily-分布式事务框架

Seata-一站式分布式事务解决方案

  • 数据库

Greenplum

TiDB

参考资料

聊聊分布式事务,再说说解决方案

分布式系统的事务处理几种常见方法

解决分布式系统事务一致性的几种方案对比

分布式系统事务一致性

常用的分布式事务解决方案

分布式系统 · 分布式事务的实现原理

分布式系统CAP理论 / 分布式事务一致性

第一次有人把“分布式事务”讲的这么简单明了