Fescar是什么?
Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景,它的前身是阿里的全局事务服务GTS,不过GTS是商用的不开源,可以这样认为Fescar就是GTS的开源版,关于它的一些理论,在接下来我会出一系列的关于fescar理论介绍及源码解读文章,在这里先将介绍如何快速运行fescar的官方demo
一.安装Fescar环境
首先去Fescar的githup官网上,下载源码,Fescar的官方链接如下:
在下载完后,以Maven项目的导入方式导入,在这里我使用的IDE是Eclipse,导入以后的目录页面如下:
其中fescar-examples是官方提供的demo,不过在运行这个项目之前,我们得先做一些准备工作:
fescar官方提供的例子是用户购买商品的业务逻辑。整个业务逻辑由3个微服务支持:
1.存储服务:扣除给定商品的存储数量。
2.订单服务:根据采购要求创建订单
3.账户服务:从用户账户余额中扣除。
所以总共需要用到三个表格accout_tbl、order_tbl、storage_tbl,以及用于存储回滚日志的表格undo_log,这个表格的作用在以后我会进行讲解,现在在这里先创建相关的数据库和表格:
首先,创建在本地数据库上创建数据create database fescar;
然后在fescar数据库上创建对应的表格:创建SQL如下
CREATE TABLE `undo_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`branch_id` bigint(20) NOT NULL,
`xid` varchar(100) NOT NULL,
`rollback_info` longblob NOT NULL,
`log_status` int(11) NOT NULL,
`log_created` datetime NOT NUL