分散式事務概述
A distributed transaction is a database transaction in which two or more network hosts are involved. Usually, hosts provide transactional resources, while the transaction manager is responsible for creating and managing a global transaction that encompasses all operations against such resources. Distributed transactions, as any other transactions, must have all four ACID (atomicity, consistency, isolation, durability) properties, where atomicity guarantees all-or-nothing outcomes for the unit of work (operations bundle).
摘自wiki百科,大致意思是分散式事務和普通事務一樣擁有ACID特性,只不過是涉及到多個網路節點的事務。其中提到了Host和Transaction manager。
OpenGroup是一個供應商聯盟,它提出了x/open分散式事務處理(DTP)模型(x/open xa),成為事務模型元件行為的的標準。
In practice most commercial database systems use strong strict two phase locking (SS2PL) for concurrency control, which ensures global serializability, if all the participating databases employ it. (see also commitment ordering for multidatabases.)
這裡提到了大多數商業資料庫系統使用強嚴格的兩階段鎖定(Ss2pl)來進行併發控制,也就是俗說的二階段提交。
但是2PC(二階段提交併不適用所有場景),比方說預定機票和預訂酒店這種,用2PC的方式並不合適,這種長時間的分散式事務會鎖定較長的時間,而且有技術層面上鎖的撤銷操作,這種可以從業務上避免分散式事務,比方說業務上新增一個撤銷操作。通常,這些長時間的事務採用補償事務、樂觀和不鎖定隔離的方案。X/Open模型不適合長期存在的DTP。
相關文章
- 分散式事務(一)—分散式事務的概念分散式
- 分散式事務概述及大廠通用解決方案分散式
- 分散式事務(3)---RocketMQ實現分散式事務原理分散式MQ
- 分散式事務和分散式hash分散式
- 分散式事務(4)---RocketMQ實現分散式事務專案分散式MQ
- 理解分散式事務分散式
- 聊聊分散式事務分散式
- seata 分散式事務分散式
- 分散式系統(三)——分散式事務分散式
- 分散式事務~從seata例項來學習分散式事務分散式
- 分散式系列七: 分散式事務理論分散式
- 分散式事務之Spring事務與JMS事務(二)分散式Spring
- 分散式事務介紹分散式
- 分散式事務實戰分散式
- 分散式事務總結分散式
- 分散式事務Saga模式分散式模式
- SpringCloud(六)分散式事務SpringGCCloud分散式
- PHP 微服務之 [分散式事務]PHP微服務分散式
- PHP 微服務之【分散式事務】PHP微服務分散式
- 本地事務和分散式事務的區別分散式
- 搞懂分散式技術19:使用RocketMQ事務訊息解決分散式事務分散式MQ
- 分散式事務(2)---強一致性分散式事務解決方案分散式
- Laravel 分散式事務處理Laravel分散式
- 深入理解「分散式事務」分散式
- 解密分散式事務框架-Fescar解密分散式框架
- 談談分散式事務原理分散式
- 分散式事務 —— SpringCloud Alibaba Seata分散式SpringGCCloud
- 分散式事務保姆級教程分散式
- etcd分散式鎖及事務分散式
- RocketMQ 分散式事務訊息MQ分散式
- TXC分散式事務簡介分散式
- 分散式事務解決方案分散式
- kratos分散式事務實踐分散式
- 深度剖析Saga分散式事務分散式
- 分散式事務(四)之TCC分散式
- 深度剖析分散式事務效能分散式
- 搞懂分散式技術17:淺析分散式事務分散式
- 分散式事務,強一致性方案有哪些?|分散式事務系列(二)分散式