微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)

释放双眼,带上耳机,听听看~!

准备:


1
2
3
4
5
6
7
8
1启动注册中心;
2启动redis ;
3启动事务管理器
4启动mysql ;
5启动微服务1 ;
6启动微服务2
7
8

(1)正常事务测试:
不抛出异常,两边都插入

1 设计没有故障整合服务


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1@TxTransaction(isStart=true)
2    @Override
3   @Transactional
4   public int saveBlockTheme(Block block, Theme theme) {
5       // return blockDao.saveBlock(name, blockDesc);
6
7       int rs1 = blockDao.saveBlock("jwg1", "111");// 3 保存1
8
9       int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 保存2
10
11      // int v = 100/0; //没有故障
12
13      return rs1 + rs2;
14
15  }
16}
17
18

2 在浏览器输入:http://localhost:8020/saveBlockTheme
结果:
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)
3 到数据库查看:
Block表
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)

Theme表
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)

两个库的表中都插入

(2)非正常事务测试
认为抛出异常,两边都不插入
1设计有故障服务


1
2
3
4
5
6
7
8
9
10
11
12
13
1@TxTransaction(isStart=true)
2@Override
3   @Transactional
4   public int saveBlockTheme(Block block, Theme theme) {
5       // return blockDao.saveBlock(name, blockDesc);
6           int rs1 = blockDao.saveBlock("jwg1", "111");// 3 保存1
7           int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 保存2
8            int v = 100/0; //故障
9           return rs1 + rs2;
10      }
11}
12
13

2 在浏览器输入:http://localhost:8020/saveBlockTheme
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)
3 去数据库查看
Block表
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)
没有记录

Theme表
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)
没有记录,说明回滚成功
总结:

通过10篇文章的论述,成功实现了基于springcloud分布式微服务的分布式事务管理设计,实现和测试。希望在黑暗中摸索的同学有些帮助。

给TA打赏
共{{data.count}}人
人已打赏
安全网络

CDN安全市场到2022年价值76.3亿美元

2018-2-1 18:02:50

安全技术

C++单例模式

2022-1-11 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索