精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

接口中的大事務,該如何進行優化?

開發 前端
可見大事務是我們接口效率低下的罪魁禍首,有時候我們為了快速實現功能,可能會忽略一些關乎于性能的東西,而這些東西是我們能力提升的一個契機。

作為后端開發的程序員,我們常常會的一些相對比較復雜的邏輯,比如我們需要給前端寫一個調用的接口,這個接口需要進行相對比較復雜的業務邏輯操作,比如會進行,查詢、遠程接口或本地接口調用、更新、插入、計算等一些邏輯,將最終接口的返回結果給到前端,而經過這么一系列的業務邏輯操作,接口對DB的操作、對代碼業務邏輯判斷、進行接口調用這些都是需要時間的,而只要這是一個事務操作,每次對數據庫進行的交互都會產生一條事務記錄。

那么這樣就會對我們接口返回的效率產生影響,而且這個影響是隨著數據量的增長而增長的,這時候我們就需要對一整個大事務進行拆分,從而提升整體接口的效率。

何為大事務

就拿我最近開發寫的一個接口來說吧,大致是這么一個邏輯,我需要根據頁面的提交的數據生成一個收款單,整體接口處理的業務如下,我把它們寫在了一個接口里,可以理解為這是一個大事物,這個接口執行的時間是相對比較長的,而且將這些邏輯全部寫在一個接口里面,本身來說也是不太合理的。

圖片圖片


大事務存在的一些問題

并發數據不一致

不加鎖的情況下,由于種種原因第一次接口的調用還沒執行完,還在等待第三方的調用回寫數據,第二次調用又進來對數據進行了更改,第二次調用先執行完,這時候第一次接口調用拿到了第三方接口的返回,去回寫狀態發現已經被更新,導致無效操作。

加鎖容易阻塞

加鎖的情況下, 不會出現數據不一致情況,但是由于大事物執行時間較長,容易造成鎖超時失效,鎖定太多的數據造成阻塞,嚴重影響效率。

Undo logo事務日志性能問題

容易造成Undo logo日志數據量很大,降低了日志的查詢性能,包括對事務的回滾效率也會降低。

并發數據庫壓力太大

并發量達到一定程度,會對數據庫讀寫造成不小的壓力,會堆積大量等待線程。

如何優化大事務

事務里面不要進行遠程RPC調用

首先事務里面進行遠程的接口調用,如果不采用分布式事務框架,本身就會存在事務不一致的情況,無法進行數據的回滾操作,并發情況下遠程服務響應不及時,會出現接口返回不一致問題,當然必須采用異步調用,后面會提到。

編程型事務更加靈活

聲明式事務只需要加在方法頭加@Transactional注解即可開啟事務,但是還是不太靈活,意味著整個方法所進行對數據庫操作都要加進事務,當然一次查詢也要進入事務,這并不是我們想要的,我們在update、insert操作上進行事務操作,方便進行回滾。

public Boolean transactionCommit(String userName) {
    //查詢用戶
    SysUser sysUser = userMapper.selectUserByUserName(userName,null);

    transactionTemplate.execute(new TransactionCallbackWithoutResult() {
        @Override
        protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
            try {
                if (null != sysUser) {
                    //用戶信息狀態更新 status更新為1
                    userMapper.updateStatus(userName);
                }
            } catch (Exception e){
                //回滾
                transactionStatus.setRollbackOnly();
            }
        }
    });
    //再次查詢
    SysUser sysUser1 = userMapper.selectUserByUserName(userName,"1");
    /log/.info("狀態為1的用戶信息"+JSON./toJSONString/(sysUser1));
    return  true;
}

編程式事務的靈活點在于可以控制事務執行方法,運用transactionTemplate類進行事務操作,查詢操作可以寫在外面,這樣查詢獲取數據的操作就不會進入mysql事務表。

數據分批處理

對于事務的更新或者插入,前端可能會有批量操作,大規模數據的批量更新、插入也會對事務接口產生影響,一旦其中有更新或插入失敗,為了保證事務的一致性,整個操作都要進行回滾;

  • 前端:可以限制數據,對后端接口的訪問,可以將數據進行分頁,多次請求,可以避免事務提交大量數據。
  • 后端:也可以去數據進行分頁處理,例如每次可以限制50條進行操作,如果是新增邏輯,使用Mybatis的批量更新大大提升效率
List<List<ReceivableFeeSaveDTO>> partition = Lists.partition(receivableFeeSaveDTOList, 50);

大事務拆分小事務

可以將一個事務接口,拆分成多個事務接口,并且每個事務接口只做一件事,比如上面的收款單生成接口,金額回寫、第三方接口調用、調用后的結果回寫都可以抽成一個哥小事務接口。

就好比做一件很復雜的事情,咋一眼看上去很復雜,但是我們把這復雜的步驟,進行多個步驟的拆分,每個階段完成每個階段的事情,就可以將整個過程簡化,看起來就沒那么復雜了。

異步并行處理

重中之重,事務里如果無法避免遠程調用,那么肯定是需要進行異步調用,因為無法保證遠程接口的及時響應性,CompletableFuture異步編排特性可以用到,task1和task2任務結束后,執行task3。

CompletableFuture<Object> task1 =CompletableFuture.supplyAsync(() -> {
    System.out.println("單號check線程" + Thread.currentThread().getId());
    //單號check接口 校驗失敗拋出異常

    return "賬單實體信息";
}, executor);
CompletableFuture<Object> task2 = CompletableFuture.supplyAsync(() -> {
    System.out.println("收款單生成線程" + Thread.currentThread().getId());
    try {
        //收款單生成

        return “賬單編號”;
        Thread.sleep(3000);
        System.out.println("任務2結束:");
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

}, executor);

 //task1、task2 執行完執行task3 ,需要感知task1和task2的執行結果
CompletableFuture<Boolean> future = task1.thenCombineAsync(task2, (t1, t2) -> {

    System.out.println("賬單金額回寫線程" + Thread.currentThread().getId());
    // t1 、t2返回判斷

    //回寫返回結果
    return ture;
}, executor);

總結

可見大事務是我們接口效率低下的罪魁禍首,有時候我們為了快速實現功能,可能會忽略一些關乎于性能的東西,而這些東西是我們能力提升的一個契機。

責任編輯:武曉燕 來源: 程序員小富
相關推薦

2024-03-01 12:19:00

接口性能優化

2017-07-28 11:31:59

iOS結構優化項目

2019-08-16 09:46:51

2021-05-10 14:49:21

分析指標下跌

2015-09-25 11:03:14

數據中心日志分析

2014-11-27 10:07:43

IT運維

2010-03-16 14:41:06

Java Runnab

2010-02-26 11:15:51

WCF接口方法

2024-02-22 10:27:00

Python開發

2017-11-22 15:33:56

MySQL快速插入語句優化

2011-07-06 08:46:30

2009-12-16 17:50:58

Ruby on Rai

2020-02-12 08:50:05

Linux命令啟動時間

2017-01-06 14:57:02

2011-09-06 10:00:19

Vista右鍵菜單

2021-02-03 10:34:35

多云云安全CISO

2024-12-27 09:21:58

2019-08-21 17:30:42

網絡攻擊安全系統服務器

2011-09-08 18:01:57

2011-06-29 10:06:23

Linux服務器優化
點贊
收藏

51CTO技術棧公眾號

偷窥国产亚洲免费视频| 久久精品国产精品亚洲综合| 亚洲精品99久久久久中文字幕| 日韩亚洲欧美视频| 好男人免费精品视频| 蜜臀久久久久久久| 高清亚洲成在人网站天堂| 精品国产无码在线观看| 国产精品一区免费在线| 欧美三级欧美成人高清www| 亚洲日本欧美在线| 神马久久久久久久久久| 美国欧美日韩国产在线播放| 欧美精品久久久久久久免费观看| 国产美女免费无遮挡| 国产一区二区三区免费观看在线| 色综合咪咪久久| 国内少妇毛片视频| 免费av在线网站| 久久人人爽人人爽| 国产成人精品日本亚洲11 | 日本在线免费播放| 91在线porny国产在线看| 国产精品揄拍500视频| 国产69精品久久久久久久久久| 亚洲精品国产成人影院| 国产亚洲精品日韩| 国精产品一区一区三区免费视频| 999精品视频在这里| 欧美久久久久久久久| 国产精品免费成人| 三级中文字幕在线观看| 一区二区三区精品在线| 亚洲在线欧美| 91网在线播放| 中文字幕精品在线不卡| 国产精品国产三级国产普通话三级| 日韩av成人在线观看| 国产一级在线视频| 欧美午夜免费影院| 欧美久久久精品| 亚洲综合久久av一区二区三区| 久久99蜜桃| 亚洲欧美一区二区三区久久 | 久久色中文字幕| 九色91在线视频| 亚洲 美腿 欧美 偷拍| 成人性生交大片| 国产婷婷色一区二区三区在线| 欧美一级二级三级视频| 美女爆乳18禁www久久久久久| 国产口爆吞精一区二区| 日韩激情中文字幕| 日本精品一区二区三区在线播放视频 | 国产在线精品一区二区三区不卡| 国产精品久久久久久久久久小说| 日本中文在线播放| 亚洲综合国产| 国产成人精品a视频一区www| 天堂网视频在线| 日韩精品免费视频人成| 国产精品69精品一区二区三区| 在线视频一区二区三区四区| 久久精品午夜| 国产精品男人的天堂| 真实新婚偷拍xxxxx| 青青草伊人久久| 91精品美女在线| 99国产在线播放| 丁香桃色午夜亚洲一区二区三区| 超碰97人人在线| 欧美一级特黄aaaaaa| k8久久久一区二区三区| 久久久久久欧美精品色一二三四| 手机福利小视频在线播放| 熟妇高潮一区二区高潮| 国产精品主播直播| 国产激情一区二区三区在线观看| 日韩中文字幕观看| 久久免费午夜影院| 亚洲精品久久久久久一区二区| av基地在线| 亚洲特级片在线| 性一交一乱一伧国产女士spa| 91精品国产黑色瑜伽裤| 色综合视频在线观看| 色一情一区二区三区| 日韩欧美中文字幕一区二区三区 | 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 第四色中文综合网| 亚洲欧美日韩视频一区| 懂色av粉嫩av蜜臀av一区二区三区| 欧美伊人影院| 茄子视频成人在线| 国产乱色精品成人免费视频| 粉嫩在线一区二区三区视频| 欧美一级爱爱| 亚洲精品天堂| 日本精品一级二级| 国产调教打屁股xxxx网站| 天海翼亚洲一区二区三区| 中文字幕日韩高清| 青青草av在线播放| 精品一区二区在线观看| 精品蜜桃一区二区三区| 国产日产一区二区三区| 欧美性jizz18性欧美| 亚洲一二区在线观看| 亚洲精品合集| 欧美另类老女人| 成人黄色免费网| www.亚洲激情.com| 日本xxxxx18| 日韩一区二区三区在线免费观看 | 丰满人妻一区二区三区53视频| 五月天亚洲色图| 欧美性xxxx极品hd欧美风情| 情事1991在线| 中文字幕二区三区| 91视频在线看| 日本香蕉视频在线观看| 视频91a欧美| 一本一本久久a久久精品综合小说| 久久久夜色精品| 精品一二线国产| 日韩av高清| 黄毛片在线观看| 日韩欧美一级精品久久| 青青青手机在线视频| 久久亚洲欧美| 久久综合一区二区三区| 色操视频在线| 欧美一区二区三区四区视频| 大胸美女被爆操| 久久精品一本| 美女黄毛**国产精品啪啪| 精精国产xxxx视频在线中文版| 91精品国产综合久久小美女| 欧美人与禽zoz0善交| 老牛影视一区二区三区| 麻豆蜜桃91| 欧美aa视频| 亚洲欧美国产一本综合首页| 制服.丝袜.亚洲.中文.综合懂色| 成人性视频免费网站| 日韩a级黄色片| 日韩精品三级| 欧美激情国产日韩精品一区18| 国产毛片毛片毛片毛片毛片| 一区二区中文字幕在线| 欧美午夜精品理论片| 99久久影视| 91人人爽人人爽人人精88v| 日韩欧美小视频| 欧美妇女性影城| 久久久久亚洲av片无码| 国产一区二区在线影院| 狠狠精品干练久久久无码中文字幕| 成人亚洲精品| 欧美成人剧情片在线观看| 99精品免费观看| 亚洲一区在线视频| 免费无码一区二区三区| 丝袜亚洲另类欧美综合| 亚洲精品一区国产精品| 中文区中文字幕免费看| 国产精品久久久久久影院8一贰佰| 国产精品com| 快射视频在线观看| 欧美成人三级在线| 国产 日韩 欧美 在线| 久久久久久久久久看片| 天天干天天综合| 在线成人直播| 狠狠久久综合婷婷不卡| 久久毛片亚洲| 久久精品小视频| 亚洲精品一区二区三区蜜桃| 欧美天天综合色影久久精品| 欧美亚洲色综久久精品国产| 国产一区不卡视频| 分分操这里只有精品| 窝窝社区一区二区| 成人在线视频福利| √8天堂资源地址中文在线| 精品一区二区电影| 91福利在线观看视频| 亚洲综合色在线| 色一情一交一乱一区二区三区 | 一区二区免费看| 亚洲第一黄色网址| 蜜臀av一区二区在线观看| 国产一二三四区在线观看| 日韩大片在线免费观看| 成人黄色在线观看| 国产高清视频色在线www| 伊人青青综合网站| 亚洲产国偷v产偷v自拍涩爱| 日韩欧美在线视频日韩欧美在线视频| 国产成人免费在线观看视频| 成人综合激情网| 邪恶网站在线观看| 日韩一级在线| 99re99热| 视频精品在线观看| 99久热re在线精品视频| 国产精品亚洲d| 91国产精品视频在线| 免费高清在线观看| 亚洲视频精品在线| 亚洲精品福利网站| 欧美日韩成人综合| 69国产精品视频免费观看| 一区二区三区中文在线| 99久久99久久精品免费| 99r国产精品| 亚洲最大视频网| 一区二区久久精品66国产精品| 国产欧美日韩在线| 国产精品一级黄片| 成人av在线资源网站| 尤物网站在线看| 美女视频黄久久| 国产a级片免费观看| 99av国产精品欲麻豆| 国产成人一二三区| 五月天久久久| 亚洲蜜桃av| 国产免费av一区二区三区| 国产精品一区二| 99re8这里有精品热视频8在线| 国产精品一区av| 韩国成人在线| 日本在线观看天堂男亚洲| 麻豆免费在线| 午夜精品福利在线观看| 黄页网站在线观看免费| 欧美成人黑人xx视频免费观看| 欧美成人性生活视频| 中文字幕日韩欧美| 在线观看av黄网站永久| 国产一区二区三区欧美| 福利视频在线导航| 亚洲图片制服诱惑| 国产高清在线观看| 国产一区二区动漫| aaa日本高清在线播放免费观看| 亚洲欧美在线一区二区| 你懂的视频在线| 亚洲人成77777在线观看网| 色视频在线观看| 亚洲美女激情视频| 国产午夜视频在线观看| 亚洲香蕉成人av网站在线观看| 狠狠色伊人亚洲综合网站l| 亚洲视频第一页| 午夜免费福利在线观看| 久久精品夜夜夜夜夜久久| 中文字幕有码在线观看| 欧美丰满少妇xxxxx| 波多野结衣中文在线| 97视频在线观看视频免费视频 | 亚洲国产视频网站| 日本熟伦人妇xxxx| 一本一道波多野结衣一区二区| 日本特级黄色片| 在线观看视频一区二区| 一本大道伊人av久久综合| 欧美一区三区四区| 蜜臀久久精品久久久久| 亚洲欧美自拍一区| 欧美私人网站| 欧美黄色片免费观看| www.国产高清| 日韩和欧美一区二区| 国产91在线免费| 天堂蜜桃91精品| 女同激情久久av久久| 成人在线视频首页| 波多野吉衣中文字幕| 中文字幕日本乱码精品影院| 欧美片一区二区| 欧美日韩一二三四五区| 一级特黄色大片| 精品久久久网站| 狠狠v欧美ⅴ日韩v亚洲v大胸| 久久精品国产视频| а√天堂8资源在线| 国产精品久久久久久影视| 国产美女精品视频免费播放软件 | 欧美精品aaaa| 国产福利不卡视频| av女人的天堂| 一区二区三区国产| 一级久久久久久| 日韩欧美精品在线视频| 久久精品国产亚洲a∨麻豆| 久久五月情影视| 92国产精品| 99久久伊人精品影院| 欧美综合在线视频观看| 成年人看的毛片| 久久福利资源站| 亚洲av无码国产精品久久| 亚洲欧美一区二区三区久本道91| 青青草免费观看视频| 欧美va亚洲va香蕉在线| lutube成人福利在线观看| 国模精品一区二区三区色天香| 国产一区影院| 欧美午夜欧美| 亚洲激情社区| 在线观看中文av| 国产欧美精品国产国产专区| 久久中文字幕无码| 欧美高清精品3d| 在线激情免费视频| 国产91露脸中文字幕在线| 超碰精品在线观看| 99亚洲精品视频| 久久国产免费看| 国产传媒国产传媒| 欧美三级xxx| 三级理论午夜在线观看| 欧美激情一区二区三区在线视频观看| 日韩一级特黄| 亚洲蜜桃av| 奇米精品一区二区三区四区| 好吊一区二区三区视频| 夜夜嗨av一区二区三区| 精品国产乱码久久久久久蜜臀网站| 在线观看亚洲区| 欧美日韩免费观看视频| 久久综合九九| 国产精品永久| 欧美 日本 国产| 亚洲夜间福利| 国产一区再线| 午夜天堂精品久久久久| 在线观看日本www| 国产精品精品国产色婷婷| 一二三区免费视频| 亚洲人成在线观看| 日韩三级影视| 人禽交欧美网站免费| 男女精品网站| 成年人免费观看视频网站| 欧美日韩免费网站| 视频二区在线| 国产精品成人一区二区| 国产一区二区三区探花| 婷婷丁香激情网| 欧美国产乱子伦 | 3751色影院一区二区三区| 9191在线| 91在线观看免费高清完整版在线观看 | 麻豆91精品91久久久的内涵| 又色又爽的视频| 777欧美精品| 在线观看免费视频你懂的| 91情侣在线视频| 激情综合中文娱乐网| 日韩片在线观看| 色欧美片视频在线观看| www.久久热.com| 91久热免费在线视频| 国产精品av一区二区| 黄色性生活一级片| 欧美吞精做爰啪啪高潮| 好了av在线| 国产伦精品一区二区三区四区免费| 中文国产一区| 秋霞网一区二区三区| 日韩一区二区三| 最新中文字幕在线播放| 亚洲欧洲三级| 国产 日韩 欧美大片| 国产又黄又猛又粗又爽| 综合激情国产一区| 91在线一区| 日本一极黄色片| 尤物在线观看一区| 日韩精品视频在线观看一区二区三区| 国产精品美女主播在线观看纯欲| 欧美一区高清| 免费观看av网站| 欧美高清hd18日本| 丝袜老师在线| 中文字幕一区二区三区最新| 成人av网站在线观看免费| 国产成人自拍偷拍| 欧美激情中文网| 成人在线丰满少妇av| 中文字幕99页| 欧美日韩精品一区二区三区四区 | 欧美日韩 国产精品| 人妻少妇精品视频一区二区三区| 欧美色区777第一页| 国产黄色免费视频| 亚洲免费高清视频在线|