我在上一期介紹了spring的事務原理(詳情見《深入理解spring事務原理》),Spring事務本質是單機下的事務,是由數據庫本身保證的。今天,我將介紹一種比較復雜的事務:分布式事務。 1、什么是分布式事務 分布式事務就是指事務的參與者、支持事務的服務器、資源服務器以及事務管理器分別位於 ...
目錄 業務場景 電商業務 火車票購票 銀行轉賬 什么是事務 事務的特性 什么是分布式事務 產生分布式事務的原因 分布式理論 CAP 理論 BASE 理論 解決方案 PC 兩階段提交協議 PC 三階段提交協議 TCC 本地消息表 RocketMQ 事務消息 小結 推薦閱讀 業務場景 電商業務 上圖是一個電商系統,當一個訂單支付完成后的業務場景: 更改訂單的狀態為 已支付 扣減商品庫存 給會員增加積 ...
2021-08-10 13:19 1 560 推薦指數:
我在上一期介紹了spring的事務原理(詳情見《深入理解spring事務原理》),Spring事務本質是單機下的事務,是由數據庫本身保證的。今天,我將介紹一種比較復雜的事務:分布式事務。 1、什么是分布式事務 分布式事務就是指事務的參與者、支持事務的服務器、資源服務器以及事務管理器分別位於 ...
1. 分布式事務原理解析 1.1. TCC分布式事務 了解過TCC分布式事務的都知道它有三個階段:try,confirm,cancel,但很多文章就只有原理圖,和對原理圖的解釋,看一遍也留不下印象,這里用實際場景舉個例子,說明TCC分布式事務原理 try階段:假設我們又訂單系統,它需要 ...
本文是公眾號讀者有故事的驢的投稿 感謝驢同學的技術分享 目錄: 1.什么是事務? 2.換個角度看事務 3.Java中的事務 4.啥又是分布式事務? 5.分布式事務的幾種實現思路 6.總結 寫在前面 在分布式、微服務大行其道的今天,相信大家對這些名詞都不會陌生。而說到使用 ...
1. 引言 事務大家都知道,就是相當於一個原子操作,要么全部執行,要么發生異常全部回滾。但事務只限於本地事務,即各個數據庫操作必須在同一數據庫下執行。拿我最近的接手的項目來說,各個模塊全部部署於不同的服務器,都有自己獨立的數據庫。前端想要刪除一個用戶,先調用用戶平台的刪除用戶接口,再調用權限 ...
,業務系統擁有獨立的數據庫,因此就出現了跨多個數據庫的事務需求,這種事務即為“分布式事務”。那么在目前 ...
一、分布式事務的概念 1,什么是事務 事務可以看做是一次大的活動,它由不同的小活動組成,這些活動要么全部成功,要么全部失敗。 2,本地事務 數據庫事務的四大特性 ACID: A(Atomic):原子性,構成事務的所有操作,要么都執行完成,要么全部不執行,不可能出現部分 ...
寫在前面 寫這篇文章的背景是有個跟我關系不錯的小伙伴去某大型互聯網公司面試,面試官問了他關於分布式事務的問題,不巧的是他確實對分布式事務掌握的不是很深入,面試的結果挺遺憾的。不過,這位小伙伴還是挺樂觀的,讓我寫寫關於【分布式事務】的系列文章,他想提升自己關於分布式事務的短板,那我就寫一個 ...
Seata框架是一個業務層的XA(兩階段提交)解決方案。在理解Seata分布式事務機制前,我們先回顧一下數據庫層面的XA方案。 Seata 是一款開源的分布式事務解決方案,致力於提供高性能和簡單易用的分布式事務服務。Seata 將為用戶提供了 AT、TCC、SAGA 和 XA 事務模式,為用戶 ...