内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)-創(chuàng)新互聯(lián)

Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)建站服務(wù)緊隨時代發(fā)展步伐,進行技術(shù)革新和技術(shù)進步,經(jīng)過十年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對網(wǎng)站進行成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、建設(shè)、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。

Seata 是一款開源的分布式事務(wù)解決方案,致力于提供高性能和簡單易用的分布式事務(wù)服務(wù)。

大致上seata分為TC,TM,RM三大構(gòu)建成整體。它們之間的包含關(guān)系如下。即一(xid主鍵編碼,記錄信息)帶三(TC,TM,RM)

Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)

下面之間構(gòu)建項目進行測試。

1.下載seata并解壓,然后改動配置文件。

http://seata.io/zh-cn/blog/download.html官網(wǎng)下載。

解壓之后到conf中修改file和registry文件,修改之前一定記得先備份。

file.conf,改動兩個地方

將group后面的參數(shù)定義一個名字,隨意

Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)

存儲方式選db放在數(shù)據(jù)庫,自然其配置信息根據(jù)自己的數(shù)據(jù)庫去填寫。

Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)

然后是register文件,填寫信息將seata注冊到nacos中。

Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)

啟動自然是在bin中打開bat文件即可,注意需要先啟動naco。

2.構(gòu)建項目(order,storage,account)

演示整體的服務(wù)調(diào)用還有服務(wù)報錯的時候進入回滾。通過創(chuàng)建訂單->檢查庫存并扣除->檢查賬戶并扣除->修改訂單狀態(tài)

具體代碼可查看GitHub

https://github.com/MaTsukun/springcloud2020

關(guān)鍵的service方法

@Service
@Slf4j
public class OrderServiceImpl implements OrderService{
  @Resource
  private OrderMapper orderMapper;
  @Resource
  private StorageService storageService;
  @Resource
  private AccountService accountService;

  @Override
  @GlobalTransactional(name="abc-create-order",rollbackFor = Exception.class)
  public void create(Order order){
    //1.創(chuàng)建訂單
    log.info("開始創(chuàng)建訂單");
    orderMapper.create(order);
    //2.減少庫存
    log.info("查詢庫存并且進行更改");
    storageService.decrease(order.getProductId(),order.getCount());
    //3.扣除費用
    log.info("查詢余額并扣除費用");
    accountService.updateAccount(order.getUserId(),order.getMoney());
    //4.修改狀態(tài)
    log.info("更改訂單狀態(tài)");
    orderMapper.update(order.getUserId(),0);
    log.info("訂單結(jié)束,O(∩_∩)O哈哈~");
  }
}

名稱欄目:Springcloud中的分布式事務(wù)怎么利用seata實現(xiàn)-創(chuàng)新互聯(lián)
文章位置:http://www.rwnh.cn/article4/djphoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化搜索引擎優(yōu)化、建站公司用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
怀集县| 南城县| 巴里| 东乌珠穆沁旗| 青川县| 蒲江县| 富阳市| 晋州市| 花莲县| 弥勒县| 泸西县| 峨山| 永年县| 镇沅| 土默特右旗| 姜堰市| 探索| 灯塔市| 木里| 冷水江市| 义马市| 长丰县| 丽江市| 新巴尔虎左旗| 喀喇沁旗| 西平县| 商河县| 梁山县| 连江县| 洛浦县| 金平| 陆川县| 湘潭市| 荣昌县| 敖汉旗| 广安市| 株洲县| 海晏县| 石泉县| 玉田县| 原阳县|