成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

瀏覽:2日期:2023-04-18 09:59:49

1. 分布式事務初探

一般來說,目前市面上的數據庫都支持本地事務,也就是在你的應用程序中,在一個數據庫連接下的操作,可以很容易的實現事務的操作。

但是目前,基于SOA的思想,大部分項目都采用微服務架構后,就會出現了跨服務間的事務需求,這就稱為分布式事務。

本文假設你已經了解了事務的運行機制,如果你不了解事務,那么我建議先去看下事務相關的文章,再來閱讀本文。

1.1 什么是分布式事務

對于傳統的單體應用而言,實現本地事務可以依賴Spring的@Transactional注解標識方法,實現事務非常簡單。

我們以最常見的電商系統為例,簡單拆分為用戶客戶端、訂單服務、庫存服務、商品服務等等,在用戶下單過程中,需要同時調用各個服務,但是,每個服務都是獨立部署的,數據庫連接是不共享的,因此要保證這些操作全部執行,或者全部不執行,就需要分布式事務的支持。

1.2 分布式事務解決方案

全局事務,基于DTP模型實現,需要三種角色即Application 應用系統,Transaction Manager 事務管理器,Resource Manager資源管理器; 基于可靠消息服務的分布式事務,通過消息隊列實現事務的一致性; TCC,即Try、Confirm、Cancel,屬于補償型分布式事務,Try:嘗試待執行的事務,Confirm:執行事務,Cancel:取消執行的事務;

1.3 Seata介紹

Seata 是一款開源的分布式事務解決方案,致力于在微服務架構下提供高性能和簡單易用的分布式事務服務。Seata 于2019.1正式對外開源,前身是阿里巴巴2014年誕生的 TXC(Taobao Transaction Constructor)。以下是Seata官網介紹的特色服務:

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

Seata 將為用戶提供了 AT、TCC 和 XA 事務模式,為用戶打造一站式的分布式解決方案。更多關于Seata的介紹,可參考其官網。

2. Spring Boot,Dubbo和Seata實現分布式事務案例

2.1 環境準備

運行本測試,需要你提前準備如下的軟件運行環境:

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

本案例,主要模仿簡單的下單扣減庫存的過程,架構圖如下:

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

2.2 Seata管理端

下載Seata的最新版本,并解壓后,進入seata/bin目錄,啟動:

sh seata-server.sh 8091 file

觀察8091端口是否啟動。

2.3 數據存儲

本測試服務,需要創建兩張表,分別是訂單表和庫存表:

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

2.4 構建Spring Boot服務

示例代碼可參考Github倉庫,倉庫的目錄結構如下:

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

springboot-base:存儲公共調用的基類接口,mapper接口,Model層的類等,可mvn install后,供另外三個module調用。 springboot-dubbo-storage:庫存服務; springboot-dubbo-order:訂單服務; springboot-dubbo-client:RPC消費者,提供對外接口;

基于Spring Boot構建Dubbo服務可參考之前的博文《Spring Boot(五)之集成Dubbo部署RPC服務》,構建本項目的過程就不再贅述了。

加入Seata組件后,與普通Dubbo項目的不同之處在于

1,配置Seata數據源

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

2,Seata初始化

/** * 配置全局事務掃描器。有兩個參數,一個是應用名稱,一個是事務分組 * * @return */@Beanpublic GlobalTransactionScanner globalTransactionScanner() { return new GlobalTransactionScanner('springboot-dubbo-storage', 'my_test_tx_group');}

3,配置注冊中心,目前可用的配置中心有file、nacos 、apollo、zk、consul,file類型本身不具備注冊中心的動態發現和動態配置功能,官方的初衷是在不依賴第三方配置注冊中心的基礎上快速集成測試seata功能。配置內容在file.conf和registry.conf。

4,注解標記事務方法,在需要分布式事務的方法上,加上@GlobalTransactional注解即可。

2.5 測試

依次啟動Seata、springboot-dubbo-storage、springboot-dubbo-order、springboot-dubbo-client后,打開postman測試,配置測試參數為:

詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

可以看到,在addOrder報錯后,會有全局事務的rollback過程。

3. 參考資料

Seata 如何使用Seata保證Dubbo微服務間的一致性 SpringBoot+Dubbo+Seata分布式事務實戰 分布式事務選型的取舍 常用的分布式事務解決方案

到此這篇關于詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案的文章就介紹到這了,更多相關SpringBoot 分布式事務內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品视频在线看| 亚洲在线黄色| 欧美色图麻豆| 精品久久一区二区三区| 国产美女精品在线| 欧美日韩激情一区二区三区| 午夜精品久久久久久久久久久 | 欧美电影影音先锋| 麻豆极品一区二区三区| 色悠悠久久综合| 天堂av在线一区| 一本色道亚洲精品aⅴ| 亚洲午夜久久久久久久久电影院| 国产亚洲在线| 一区二区三区在线视频免费观看| 亚洲日本久久| 亚洲激情网站免费观看| 中文精品在线| 亚洲国产成人高清精品| av成人毛片| 亚洲韩国一区二区三区| 色婷婷av一区| 国内精品国产成人国产三级粉色| 91精品国产麻豆| jizzjizzjizz欧美| 国产欧美一区二区在线| 韩日欧美一区| 一区二区三区四区在线| 亚洲一区尤物| 日韩精品久久理论片| 在线观看日韩精品| 国产夫妻精品视频| 久久久久久久国产精品影院| 国产精品v亚洲精品v日韩精品| 1024国产精品| 亚洲欧美久久久| 强制捆绑调教一区二区| 欧美日韩精品一区二区天天拍小说| 国产成人综合精品三级| 337p日本欧洲亚洲大胆色噜噜| 欧美黄色大片网站| 亚洲视频一二区| 美女诱惑黄网站一区| 久久国产人妖系列| 欧美日韩一区二区在线视频| 国产成人在线影院| 欧美激情一区二区| 在线视频精品一区| 丝袜诱惑亚洲看片| 在线不卡一区二区| 懂色av一区二区三区蜜臀| 欧美国产在线观看| 国产视频在线观看一区| 免费观看30秒视频久久| 日韩女优av电影在线观看| 国产一区自拍视频| 亚洲国产成人高清精品| 欧美喷潮久久久xxxxx| av电影在线观看不卡| 亚洲天堂中文字幕| 欧美三级中文字幕| 91无套直看片红桃| 亚洲激情五月婷婷| 在线电影国产精品| 欧美另类专区| 日日摸夜夜添夜夜添精品视频| 欧美日韩国产美| 色综合天天综合网天天狠天天 | 噜噜噜在线观看免费视频日韩| 秋霞av亚洲一区二区三| 91精品综合久久久久久| 丰满少妇久久久久久久| 国产人成亚洲第一网站在线播放| 99精品国产高清一区二区| 日韩av中文字幕一区二区三区| 欧美精品电影在线播放| 欧美日韩一区二区三区在线观看免| 夜夜嗨av一区二区三区中文字幕| 欧美优质美女网站| av影院午夜一区| 一二三区精品福利视频| 欧美日本乱大交xxxxx| 波多野结衣亚洲一区| 亚洲乱码一区二区三区在线观看| 色琪琪一区二区三区亚洲区| 国产成人精品1024| 国产精品久久久久久久第一福利| 另类图片国产| 成人av先锋影音| 亚洲女同女同女同女同女同69| 欧美性一二三区| 欧美成人午夜| 天天做天天摸天天爽国产一区 | 亚洲欧美日韩精品综合在线观看 | 欧美喷水视频| 亚洲高清免费视频| 日韩亚洲欧美综合| 亚洲少妇在线| 国产成人高清视频| 亚洲精品水蜜桃| 日韩欧美第一区| 校园春色综合网| 91色婷婷久久久久合中文| 天堂蜜桃91精品| 国产欧美日本一区二区三区| 欧美日韩精品欧美日韩精品一综合| 国产精品国产三级欧美二区 | 中文字幕久久午夜不卡| 国产成人a级片| 久久精品一二三| 欧美群妇大交群中文字幕| 最近看过的日韩成人| 国产河南妇女毛片精品久久久 | 日韩制服丝袜av| 久久久久久影视| 欧美亚洲综合在线| 亚洲黄色在线| 成人黄页在线观看| 亚洲一区在线看| 久久影院视频免费| 欧美视频在线观看一区| 激情视频一区二区| 国产精品系列在线播放| 亚洲国产cao| 国产精品蜜臀av| 精品入口麻豆88视频| 91久久精品一区二区三区| 亚洲成人在线| 97精品电影院| 国产成人精品aa毛片| 免费在线观看一区| 亚洲已满18点击进入久久| 久久精品一二三| 欧美视频在线一区| 国产乱人伦精品一区二区| 91美女在线视频| 国产一区二区网址| 午夜精品久久久久久久| 国产精品久久久久9999吃药| 欧美丰满一区二区免费视频| 久久本道综合色狠狠五月| 欧美日韩在线不卡一区| 岛国精品在线播放| 另类小说欧美激情| 亚洲成人综合网站| 中文字幕日韩精品一区| 精品国产欧美一区二区| 欧美天堂亚洲电影院在线播放| 亚洲国产国产亚洲一二三| 91片在线免费观看| 国产酒店精品激情| 免费av网站大全久久| 一区二区三区日韩精品| 欧美极品少妇xxxxⅹ高跟鞋| 日韩久久久精品| 欧美区在线观看| 色婷婷av一区| 欧美在线综合| 亚洲精品日本| 欧美日韩国语| 欧美在线看片| 成人动漫在线一区| 国产激情一区二区三区桃花岛亚洲| 亚洲成人激情自拍| 一区二区免费在线播放| 国产精品你懂的| 久久这里只有精品视频网| 欧美一区三区四区| 欧美乱熟臀69xxxxxx| 一本大道av一区二区在线播放| 国产亚洲欧洲| 亚洲精品色图| 在线欧美福利| 亚洲黄色毛片| 日韩亚洲国产欧美| 日韩午夜黄色| 99精品视频免费全部在线| 亚洲一级网站| 欧美特黄a级高清免费大片a级| 99r国产精品| 不卡免费追剧大全电视剧网站| 国产精品亚洲а∨天堂免在线| 狠狠色丁香婷婷综合久久片| 久久成人综合网| 精品一区二区三区在线播放| 麻豆精品久久精品色综合| 美女任你摸久久| 狂野欧美性猛交blacked| 日本欧美加勒比视频| 日本午夜精品视频在线观看| 婷婷综合另类小说色区| 免费在线视频一区| 国产一区二区三区四区在线观看| 精品在线观看免费| 国产成人av电影在线观看| 不卡一二三区首页| 国内精品久久国产| 国产精品综合色区在线观看| 色久综合一二码| 3atv在线一区二区三区|