日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

1. 分布式事務初探

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

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

本文假設(shè)你已經(jīng)了解了事務的運行機制,如果你不了解事務,那么我建議先去看下事務相關(guān)的文章,再來閱讀本文。

1.1 什么是分布式事務

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

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

1.2 分布式事務解決方案

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

1.3 Seata介紹

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

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

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

2. Spring Boot,Dubbo和Seata實現(xiàn)分布式事務案例

2.1 環(huán)境準備

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

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

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

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

2.2 Seata管理端

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

sh seata-server.sh 8091 file

觀察8091端口是否啟動。

2.3 數(shù)據(jù)存儲

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

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

2.4 構(gòu)建Spring Boot服務

示例代碼可參考Github倉庫,倉庫的目錄結(jié)構(gòu)如下:

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

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

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

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

1,配置Seata數(shù)據(jù)源

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

2,Seata初始化

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

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

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

2.5 測試

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

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

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

3. 參考資料

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

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

標簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲久久视频| 亚洲不卡视频| 激情综合网址| 免费视频一区二区三区在线观看| 欧美在线资源| 福利在线免费视频| 97se亚洲| 国产精品美女久久久| 国产专区一区| 神马久久午夜| 蜜臀国产一区| 日本久久黄色| 老司机免费视频一区二区| 精品欧美日韩精品| 欧美sss在线视频| 国产成人精品一区二区三区在线| 91tv亚洲精品香蕉国产一区| 日韩在线一二三区| 欧美福利专区| 999国产精品视频| 国模精品一区| 国产日韩欧美一区二区三区| 久久先锋影音| 欧美久久香蕉| 日韩综合小视频| 亚洲另类视频| 一区二区国产精品| 日本一区二区中文字幕| 日韩视频一二区| 色爱综合网欧美| 黄色网一区二区| 久久久国产精品网站| 蜜桃视频免费观看一区| 影视先锋久久| 亚洲二区在线| 日韩在线看片| 美女福利一区二区三区| 日韩欧美一区二区三区在线视频 | 国产区精品区| 亚洲精选久久| 国产精品一国产精品k频道56| 18国产精品| 久久一二三区| 亚洲深夜福利在线观看| 国产午夜一区| 欧美精品成人| 日韩国产专区| 狠狠久久婷婷| 丝袜诱惑制服诱惑色一区在线观看| 日韩精品一二三四| 国产精品美女久久久浪潮软件| 精品在线播放| 亚洲精品免费观看| 国产黄色精品| 日韩欧美字幕| 蜜桃视频一区二区三区| 欧美一区二区三区久久精品| 日韩欧美一区二区三区免费看| 91精品xxx在线观看| 国产午夜精品一区二区三区欧美| 日韩中出av| 久久精品人人| 日韩精品一卡| 亚洲专区一区| 亚洲精品婷婷| 中文字幕在线视频久| 99国产精品99久久久久久粉嫩| 综合国产在线| 精品欧美日韩精品| 国产精品88久久久久久| 亚欧洲精品视频在线观看| 久久精品国产99国产精品| 亚洲午夜视频| 午夜久久av| 久久精品国产网站| 亚洲欧美久久久| 福利片在线一区二区| 国产精品视频一区视频二区| 国产aa精品| 国产亚洲网站| 卡一精品卡二卡三网站乱码| 国产日韩欧美三区| 蜜桃av在线播放| 国产精品中文字幕制服诱惑| 欧美影院三区| 久久超级碰碰| 亚洲一区亚洲| 精品视频一二| 91久久亚洲| 国产精品66| 99国产精品视频免费观看一公开| 91综合视频| 欧美久久精品| 亚洲欧美日韩视频二区| 精品一区不卡| 午夜在线一区二区| 岛国av在线网站| 日韩av成人高清| 视频一区欧美日韩| 亚洲成人国产| 荡女精品导航| 国产精品网站在线看| 国产视频亚洲| 精品色999| 中文字幕免费一区二区| 成人羞羞视频播放网站| 国产精品一区二区av日韩在线| 久久精品亚洲人成影院 | 老色鬼精品视频在线观看播放| 日韩视频二区| 色婷婷精品视频| 国产精品66| 欧美一级二级视频| 一区二区日韩免费看| 国产韩日影视精品| 色老板在线视频一区二区| 国模精品一区| 成人污污视频| 国产乱子精品一区二区在线观看| 在线日韩成人| 亚洲第一精品影视| а√在线中文在线新版| 国产日产一区| 一区二区三区四区在线观看国产日韩| 婷婷精品进入| 99精品电影| 亚洲精品2区| 国产一区欧美| 日韩.com| 麻豆精品蜜桃视频网站| 亚洲国产欧美日本视频| 久久中文字幕导航| 国产高清精品二区| 国产精品免费99久久久| 日韩在线观看中文字幕| 婷婷五月色综合香五月| 日韩精品一页| 国产精品久久久久9999高清| 久久国产乱子精品免费女| 青青伊人久久| 国产精品久久久久久久久久白浆| 国产情侣一区在线| 国产精品分类| 国产精品chinese| 欧美激情在线精品一区二区三区| 久久免费精品| 国产精品久久久久久久免费观看| 精品九九久久| 国产福利电影在线播放| 日韩精品91| 在线亚洲国产精品网站| 亚洲精品大片| 国产精品一级在线观看| 精品一区二区三区亚洲| 国产精品毛片久久| 亚洲一区中文| 日韩久久一区| 国产精品大片| 精品美女视频| 婷婷精品在线| 精品国产乱码久久久久久1区2匹| 高清日韩欧美| 亚洲国产一区二区三区在线播放| 好吊日精品视频| 欧美一区免费| 国产夫妻在线| 在线视频精品| 国产精品啊啊啊| 成人日韩在线观看| 日韩影院免费视频| 国产亚洲一区二区三区啪| 国产一区二区三区久久| 国产一区清纯| 日韩av字幕| 91亚洲成人| 中文字幕日韩高清在线| 精品一区二区三区中文字幕| 欧美福利一区| 91精品国产自产观看在线| 午夜av不卡| 亚洲91在线| 日韩在线短视频| 不卡一二三区| 日韩精品久久久久久久软件91| 美女精品视频在线| 在线日韩av| 国产精品最新| 国产在线不卡| 日本亚洲欧洲无免费码在线| 久久99精品久久久久久园产越南| 日韩啪啪电影网| 亚洲+小说+欧美+激情+另类| 精品国产第一福利网站| 亚洲精品第一| 伊人久久视频| 日本天堂一区| 国产精品试看| 极品日韩av| 精品国产乱码久久久| 亚洲综合精品四区|