分布式事務簡介

分布式事務簡介,通過組內分享學習到的知識,并進行討論。

主要內容

分布式事務簡介

分布式事務是指跨越多個數據庫或服務的一系列操作,這些數據庫或服務可能分布在網絡的不同節點上,它們共同組成一個完整的邏輯工作單元,必須滿足事務的ACID特性(Atomicity, Consistency, Isolation, Durability),即原子性、一致性、隔離性和持久性。

原子性:分布式事務中的所有操作作為一個整體,要么全部成功,要么全部失敗,不允許部分成功部分失敗。

一致性:事務完成后,無論事務內部包含多少步驟,都會確保系統從一個有效狀態轉換到另一個有效狀態,保持數據的完整性。

隔離性:即使多個分布式事務并發執行,每個事務的執行也不受其他事務的影響,如同在一個事務中一樣。

持久性:一旦事務完成提交,其對數據庫的修改將永久保存,即使發生系統故障也不會丟失。

分布式事務解決方案

在實際的分布式環境下,實現分布式事務面臨的主要挑戰是如何在多個參與事務的服務之間達成一致性的決策,尤其是在存在網絡延遲、部分系統失效的情況下。常見的分布式事務解決方案和技術包括:

  1. 兩階段提交 (2PC, Two-Phase Commit):一種經典的分布式事務協議,通過協調者和參與者之間的兩階段交互來決定事務是否提交。

  2. 三階段提交 (3PC, Three-Phase Commit):對2PC的改進,增加了一個預提交階段以減少阻塞時間并提高容錯能力。

  3. 補償事務TCC (Try-Confirm-Cancel):嘗試、確認、取消模型,通過業務代碼顯式控制事務的生命周期。

  4. 本地消息表:有一張存放本地消息的表。在執行業務的時候將業務的執行和將消息放入消息表中的操作放在同一個事務中。

  5. 事務消息:RocketMQ 支持事務消息,第一步先給 Broker 發送事務消息即半消息,半消息不是說一半消息,而是這個消息對消費者來說不可見,然后發送成功后發送方再執行本地事務。

  6. 基于分布式協調器的服務:如Seata提供了分布式事務的支持,采用不同的事務模型,簡化了分布式事務的管理

Seata基本介紹

Seata 是一款開源的分布式事務解決方案,為用戶提供了 AT、TCC、SAGA 和 XA 事務模式 事務協調者(TC):維護全局和分支事務的狀態,驅動全局事務提交或回滾。 事務管理器(TM):定義全局事務的范圍,開始全局事務、提交或回滾全局事務。 資源管理器(RM):管理分支事務處理的資源,與TC交談以注冊分支事務和報告分支事務的狀態,并驅動分支事務提交或回滾。

具體內容詳見截圖

PPT制作內容如下

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713999.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713999.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713999.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GEE必須會教程—蒸散發數據時間序列分析與下載

今天帶來的有關蒸散發數據的下載代碼,蒸散發數據在氣象氣候,農業干旱監測等領域應用廣泛,那么在GEE上如何方便快捷獲取蒸散發數據呢?今天跟著小編分享代碼,快來學習吧!! A.定義研究區域 //定義…

JSON-RPC 快速開始

文章目錄 JSON-RPC什么是JSON-RPCJSON-RPC java開源實現JSON-PRC go開源實現JSON-RPC 和 Restful 都屬于什么?RPC、JSON-RPC和HTTP區別 以太坊使用json-rpc?JSON-RPC和gRPCWEB開發中,使用JSON-RPC好,還是RESTful API好&#xff1f…

【前端素材】推薦優質數據統計后臺管理系統網頁Cleopatra.平臺模板(附源碼)

一、需求分析 在線后臺管理系統是指供管理員或運營人員使用的Web應用程序,用于管理和監控網站、應用程序或系統的運行和數據。它通常包括一系列工具和功能,用于管理用戶、內容、權限、數據等。下面是關于在線后臺管理系統的詳細分析: 1、功…

ssh簡介以及 windows 安裝ssh教程

SSH(Secure Shell)是一種網絡協議,用于計算機之間的加密登錄和其他安全網絡服務。通過 SSH,用戶可以安全地訪問遠程計算機,執行命令、傳輸文件等操作。SSH 使用公鑰加密技術,確保數據傳輸的安全性。本文將從…

TypeScript 哲學 - 2、Narrowing

四種類型守衛 1、truthiness narrowing 2、 3、 4、 control flow analysis

C語言:結構體(自定義類型)知識點(包括結構體內存對齊的熱門知識點)

和黛玉學編程呀,大家一起努力呀............. 結構體類型的聲明 回顧一下 struct tag { member-list; }variable-list; 創建和初始化 我們知道,在C語言中,對于一些數據是必須初始化的,但是結構體怎么創建并且初始化呢&#xff1…

【計算機網絡】TCP 如何實現可靠傳輸

TCP通過三次握手建立連接,四次揮手釋放連接,確保連接建立和連接釋放的可靠。 序列號、檢驗和、確認應答信號、重發機制、連接管理、窗口控制、流量控制、擁塞控制 標準回答 可靠傳輸就是通過TCP連接傳送的數據是沒有差錯、不會丟失、不重復并且按序到達的…

springboot+vue+mysql項目使用的常用注解

實體類常用注解 Data Data 是一個 Lombok 提供的注解&#xff0c;使用 Data 注解可以簡化代碼&#xff0c;使代碼更加簡潔易讀。 作用&#xff1a;自動為類生成常用的方法&#xff0c;包括 getter、setter、equals、hashCode 和 toString 等需要加Lombok的依賴 <depende…

rk3568-一種基于wifi的網絡環境搭建方案

前言&#xff1a; PC--Ubuntu--開發板 三者之間的網絡互相ping通很重要&#xff0c;尤其是ubuntu和開發板互ping成功最關鍵&#xff0c;關系到nfs&#xff0c;tftp等常用的開發手段。現在大多數開發板都帶有wifi芯片&#xff0c;現在提供一種方案可以三個設備無線地搭建網絡環境…

Open3D0.14.1編譯、安裝、demo使用教程

寫在前面 本文內容 Open3D在0.15版之前&#xff0c;沒有提供編譯好的包&#xff0c;要使用C版本必須自己編譯&#xff0c;本文是Open3D0.14.1在Windows下和Linux(Ubuntu1804)下的編譯、使用教程&#xff1b; Open3D其他版本的編譯和使用相關教程見 各個版本的Open3D、PCL的編譯…

STL常見容器(map/multimap容器)---C++

STL常見容器目錄&#xff1a; 8.map/ multimap容器8.1 map基本概念8.2 map構造和賦值8.3 map大小和交換8.4 map插入和刪除8.5 map查找和統計8.6 map容器排序8.6.1 內置類型排序8.6.2 自定義類型排序8.6.3 自定義和內置類型混合排序 8.map/ multimap容器 兩者基本一致&#xff…

用node寫后端環境運行時報錯Port 3000 is already in use

解決方法:關閉之前運行的3000端口,操作如下 1.WindowR輸入cmd確定,打開命令面板 2.查看本機端口詳情 netstat -ano|findstr "3000" 3.清除3000端口 taskkill -pid 41640 -f 最后再重新npm start即可,這里要看你自己項目中package.joson的啟動命令是什…

Flink:動態表 / 時態表 / 版本表 / 普通表 概念區別澄清

博主歷時三年精心創作的《大數據平臺架構與原型實現&#xff1a;數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行&#xff0c;點擊《重磅推薦&#xff1a;建大數據平臺太難了&#xff01;給我發個工程原型吧&#xff01;》了解圖書詳情&#xff0c;…

Python+PySide6實現一個選擇文件并做處理的GUI辦公小工具(完整代碼)

目錄 專欄導讀背景安裝注意事項完整代碼結尾專欄導讀 ?? 歡迎來到Python辦公自動化專欄—Python處理辦公問題,解放您的雙手 ?????? 博客主頁:請點擊——> 一晌小貪歡的博客主頁求關注 ?? 該系列文章專欄:請點擊——>Python辦公自動化專欄求訂閱 ?? 此外還…

天翼云登錄參數JavaSrcipt逆向

天翼云登錄參數 password 、comParam_curTime、comParam_seqCode、comParam_signature JavaSrcipt逆向 目標網站 https://m.ctyun.cn/wap/main/auth/login?redirect/my 目標參數 要逆向的有 password、comParam_curTime、comParam_seqCode、comParam_signature 四個參數 …

安卓使用ExoPlayer出現膨脹類異常

1.導包 implementation com.google.android.exoplayer:exoplayer-core:2.15.1implementation com.google.android.exoplayer:exoplayer-ui:2.15.1 2.在Androidifest.xml加入權限&#xff0c;我這里加了忘了與讀寫權限 <uses-permission android:name"android.permissio…

【Fastadmin/ThinkPHP5】使用Queue隊列方法詳細步驟

在現代應用開發中&#xff0c;合理利用隊列系統能夠有效提升系統的性能和響應速度&#xff0c;尤其是在處理耗時較長的任務時&#xff0c;如發送大量郵件、執行定時任務等。下面是如何在ThinkPHP框架中設置和使用隊列功能的詳細指南&#xff1a; 1.配置隊列服務 在applicatio…

Tomcat服務部署、優化

一 Tomcat的基本介紹 Tomcat概念 Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器&#xff0c;屬于輕量級應用服務器&#xff0c;在中小型系統和并發訪問用戶不是很多的場合下被普遍使用&#xff0c;是開發和調試 JSP 程序的首選。 當在一臺機器上配置好Apache 服務器…

VMwareWorkstation17.0虛擬機搭建WindowsXP虛擬機(完整安裝步驟詳細圖文教程)

VMwareWorkstation17.0虛擬機搭建WindowsXP虛擬機&#xff08;完整安裝步驟詳細圖文教程&#xff09; 一、Windows XP1.Windows XP簡介2.Windows XP 的下載地址 二、配置 Windows XP 虛擬機運行環境1.新建虛擬機2.選擇類型配置3.插入WinXP光盤映像文件(ISO)4.選擇操作系統5.命名…

Home Assistant:基于Python的智能家居開源系統詳解

Home Assistant&#xff1a;基于Python的智能家居開源系統詳解 在數字化和智能化的時代&#xff0c;智能家居系統成為了現代家庭的新寵。它們能夠讓我們更加方便地控制家中的各種設備&#xff0c;實現自動化和個性化的居住體驗。其中&#xff0c;Home Assistant作為一款基于Pyt…