1. 程式人生 > >微服務分散式事務實戰(十)分散式事務綜合大測試(全,共10篇)

微服務分散式事務實戰(十)分散式事務綜合大測試(全,共10篇)

準備: 啟動註冊中心; 啟動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分散式微服務的分散式事務管理設計,實現和測試。希望在黑暗中摸索的同學有些幫助。