【微服务 - easy视频 | day04】Seata解决分布式事务
文章目录
- 前言
- Seata解决分布式事务
前言
本项目非原创,我只是个小小白,跟随 b 站脚步,找到老罗的这个项目,视频来源于:
https://www.bilibili.com/video/BV1oEUkY6EFy/?spm_id_from=333.1387.homepage.video_card.click
本人不分享项目源码,支持项目付费!!!
Seata解决分布式事务
(可以好好看看seata官网中的讲述)
seata官网:https://seata.apache.org/zh-cn/docs/user/configurations
在处理发表评论的操作时,需要对评论表中进行数据插入,也要对视频表中对应视频的评论数进行修改。
- 评论表数据插入操作是在interact的服务中,
- 视频表的评论数修改操作是在web服务中,
两个服务会单独连接数据库,此时使用@Transactional注解无法保证事务的一致性。
例如:在方法最后增加一个除以零的操作,执行方法后,评论的insert没有成功实现,而web服务中的评论数却增加了。没有进行回滚。
解决办法:使用seata中的@GlobalTransactional(rollbackFor = Exception.class)可以实现对分布式事务的回滚。

