阿里開源分布式事務seata帶你入門

介紹

Seata 是阿里巴巴開源的分布式事務中間件,一種分布式事務解決方案,具有高性能和易于使用的微服務架構。

1:對業務無侵入:即減少技術架構上的微服務化所帶來的分布式事務問題對業務的侵入

2:高性能:減少分布式事務解決方案所帶來的性能消耗

?

微服務中的分布式事務問題

讓我們想象一下傳統的單片應用程序。它的業務由3個模塊組成。他們使用單個本地數據源。

自然,本地事務將保證數據的一致性。

微服務架構已發生了變化。上面提到的3個模塊被設計為在3個不同數據源之上的3個服務(模式:每個服務的數據庫)。本地事務自然可以保證每個服務中的數據一致性。

但是整個業務邏輯范圍如何呢?

?

Seata怎么辦?

Seata只是上述問題的解決方案。

首先,如何定義分布式事務

我們說,分布式事務是由一批分支事務組成的全局事務,通常分支事務只是本地事務

?

設計

Seata中分布式事務實現方案,AT和TCC。

AT

AT模式是基于XA事務演進而來,核心是對業務無侵入,是一種改進后的兩階段提交,需要數據庫支持。

?

基本組件:

  • 事務協調器(TC):事務協調器,維護全局事務的運行狀態,負責協調并驅動全局事務的提交或回滾。
  • Transaction Manager(TM):?控制全局事務的邊界,負責開啟一個全局事務,并最終發起全局提交或全局回滾的決議。
  • 資源管理器(RM):控制分支事務,負責分支注冊、狀態匯報,并接收事務協調器的指令,驅動分支(本地)事務的提交和回滾。

處理流程:

  1. TM要求TC開始新的全局事務。TC生成表示全局事務的XID。
  2. XID通過微服務的調用鏈傳播。
  3. RM將本地事務注冊為XID到TC的相應全局事務的分支。
  4. TM要求TC提交或回滾XID的相應全局事務。
  5. TC在XID的相應全局事務下驅動所有分支事務以完成分支提交或回滾。

?

?

?

?

?

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

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

相關文章

exec族函數、system函數、popen函數、PATH

exec族函數函數的作用: 我們用fork函數創建新進程后,經常會在新進程中調用exec函數去執行另外一個程序。當進程調用exec函數時,該進程被完全替換為新程序(在exec都后面的代碼不會被得到執行)。因為調用exec函數并不創建…

jquery.validate.unobtrusive的使用

應用 一、引入 <script src"Scripts/jquery-1.7.1.min.js"></script> <script src"Scripts/jquery.validate.js"></script> <script src"Scripts/jquery.validate.unobtrusive.js"></script> 二、1&#xf…

Linux操作系統六大優點

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

[webview] 放大縮小的問題

http://www.cocoachina.com/bbs/read.php?tid33249轉載于:https://www.cnblogs.com/zxykit/p/5274831.html

進程間通信IPC(一)(半雙工管道和消息隊列)

引言&#xff1a; 之前學習的進程之間交換信息的方法只能由fork或exec傳送打開文件&#xff0c;或者文件系統。但是這種通訊方式有局限性&#xff0c;接下來將說明進程之間相互通信的其他技術——IPC(InterProcessCommunication)&#xff0c;過去UNIX系統IPC是各種進程間通信方…

Seata相關概念

相關概念 XID&#xff1a;一個全局事務的唯一標識 Transaction Coordinator (TC)&#xff1a; 事務協調器&#xff0c;維護全局事務的運行狀態&#xff0c;負責協調并驅動全局事務的提交或回滾&#xff08;可以理解為事務的協調者&#xff09;。 Transaction Manager (TM)&…

VSS配置

http://www.cnblogs.com/FreeDong/articles/2193151.html轉載于:https://www.cnblogs.com/lacey/p/5275514.html

Program terminated with signal SIGSEGV, Segmentation fault.

問題&#xff1a; 在程序運行時出現了&#xff1a;Segmentation fault (core dumped)&#xff0c;分段故障(堆芯轉儲)也就是段錯誤。 我首先在一篇博客上面找到如何使用gdb調試&#xff1a; 1、首先使用ulimit -a查看你的core file size是否為0.如果不是的話就請跳到步驟3&am…

NFS簡介

NFS 是Network File System的縮寫&#xff0c;即網絡文件系統。一種使用于分散式文件系統的協定&#xff0c;由Sun公司開發&#xff0c;于1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據&#xff0c;讓應用程序在客戶端通過網絡訪問位于服…

Php Laravel框架 多表關系處理 之 Eloquent一對多關系處理

Php Laravel框架 多表關系處理 之 Eloquent一對多關系處理 本博文主要介紹 Laravel 框架中 Eloquent 對一對多關系的處理以及在 Laravel Administrator(后臺擴展包)中的應用。 您的數據庫可能是彼此相關的。比方&#xff0c;一篇博客文章可能有很多評論&#xff0c;或者一個訂…

進程間通信IPC(二)(共享內存、信號、信號量)

共享內存&#xff1a; 共享內存就是允許兩個或多個進程共享一定的存儲區。就如同 malloc() 函數向不同進程返回了指向同一個物理內存區域的指針。當一個進程改變了這塊地址中的內容的時候&#xff0c;其它進程都會察覺到這個更改。因為數據不需要在客戶機和服務器端之間復制&am…

分布式理論CAP定理

CAP原則又稱CAP定理&#xff0c;指的是在一個分布式系統中&#xff0c; Consistency&#xff08;一致性&#xff09;、 Availability&#xff08;可用性&#xff09;、Partition tolerance&#xff08;分區容錯性&#xff09;&#xff0c;三者不可兼得。 998年&#xff0c;加州…

xmlWriter 以UTF-8格式寫xml問題

dom4j中的XMLWriter提供以下幾種構造方法&#xff1a; XMLWriter() XMLWriter(OutputFormat format) XMLWriter(OutputStream out) XMLWriter(OutputStream out, OutputFormat format) XMLWriter(Writer writer) XMLWriter(Writer writer, OutputFormat format) 最簡單常…

linux線程(互斥鎖、條件)

線程概念&#xff1a; 典型的UNIX/Linux進程可以看成只有一個控制線程&#xff1a;一個進程在同一時刻只做一件事情。有了多個控制線程后&#xff0c;在程序設計時可以把進程設計成在同一時刻做不止一件事&#xff0c;每個線程各自處理獨立的任務。 進程是程序執行時的一個實例…

centos下防火墻設置

1、開啟防火墻 systemctl start firewalld2、開放指定端口firewall-cmd --zonepublic --add-port8888/tcp --permanent命令含義&#xff1a; --zone #作用域 --add-port1935/tcp #添加端口&#xff0c;格式為&#xff1a;端口/通訊協議 --permanent #永久生效&#xff0c;沒有…

linux網絡編程、socket編程

進程間通信&#xff1a; 特點&#xff1a;依賴于內核&#xff0c;造成缺陷——無法實現多機通信。 網絡&#xff1a; 地址&#xff1a;由IP地址&#xff08;IP地址是IP協議提供的一種統一的地址格式&#xff0c;它為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址&#xf…

【Python】Python Mako模板使用

參考資料&#xff1a; Mako Templates for Python官網&#xff1a;http://www.makotemplates.org/ Python模板庫Mako的用法&#xff1a;http://my.oschina.net/u/877170/blog/290438 Mako 1.0.4 Documentation&#xff1a;http://docs.makotemplates.org/en/latest/usage.html#…