微服務分散式事務實戰(十)分散式事務綜合大測試(全,共10篇)
阿新 • • 發佈:2018-12-19
準備: 啟動註冊中心; 啟動redis ; 啟動事務管理器 啟動mysql ; 啟動微服務1 ; 啟動微服務2
(1)正常事務測試: 不丟擲異常,兩邊都插入
1 設計沒有故障整合服務
@TxTransaction(isStart=true) @Override @Transactional public int saveBlockTheme(Block block, Theme theme) { // return blockDao.saveBlock(name, blockDesc); int rs1 = blockDao.saveBlock("jwg1", "111");// 3 儲存1 int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 儲存2 // int v = 100/0; //沒有故障 return rs1 + rs2; } }
Theme表
兩個庫的表中都插入
(2)非正常事務測試 認為丟擲異常,兩邊都不插入 1設計有故障服務
@TxTransaction(isStart=true) @Override @Transactional public int saveBlockTheme(Block block, Theme theme) { // return blockDao.saveBlock(name, blockDesc); int rs1 = blockDao.saveBlock("jwg1", "111");// 3 儲存1 int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 儲存2 int v = 100/0; //故障 return rs1 + rs2; } }
Theme表 沒有記錄,說明回滾成功 總結: 通過10篇文章的論述,成功實現了基於springcloud分散式微服務的分散式事務管理設計,實現和測試。希望在黑暗中摸索的同學有些幫助。