一、什么是Fescar?
Fescar全称为:Fast Easy Commit And Rollback,是阿里巴巴公司基于TXC和GTS于2019年开源的微服务架构分布式事务解决方案。该方案基于java实现、简单易用、性能强悍、业务侵入低,是一款能够解决大多数分布式事务场景的极佳选择。原理解析请关注 : https://github.com/alibaba/fescar
二、原理浅析和场景展示
该案例实现的微服务架构下的场景示例图
Fescar原理图浅析
三、核心技术栈
四、实现以及规划
五、使用该案例说明
前往Fescar Github官方页面下载最新版本的
前往Nacos Github官方页面下载最新版本的
clone此项目到本地,使用maven构建导入IDEA编辑器中,配置项目使用的maven仓库和JDK版本(1.8)
将doc目录中的sql脚本导入到mysql数据库中,在此之前先创建数据库 db_gts_fescar,设置用户名密码为root root
模块说明:
其他未说明模块均需后续更新,暂未使用
首先启动Nacos和Fescar,中间件具体使用说明详见上述Github官方页
分别启动account-gts-fescar-example、storage-gts-fescar-example、order-gts-fescar-example、dubbo-gts-fescar-example四个模块,确定微服务都注册到Nacos和Fescar
使用Postman工具请求Post接口地址:http://localhost:8104/business/dubbo/buy 模拟发起下单业务请求,成功后返回200
接下来测试全局回滚功能,打开dubbo-gts-fescar-example模块下的 BusinessServiceImpl类,打开被注释的代码
if (!flag) {
throw new RuntimeException("测试抛异常后,分布式事务回滚!");
}
再次请求测试发生异常后全局事务是否被回滚
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。