Thetiso / seata-spring-boot-demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用SEATA

1. 启动mysql

  • name: root
  • key: 123456
  • port: 3306
  • host: 127.0.0.1
  • db: seata-demo
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 NULL,
  `log_modified` datetime NOT NULL,
  `ext` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `storage_tbl`;
CREATE TABLE `storage_tbl` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `commodity_code` varchar(255) DEFAULT NULL,
  `count` int(11) DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY (`commodity_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `order_tbl`;
CREATE TABLE `order_tbl` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(255) DEFAULT NULL,
  `commodity_code` varchar(255) DEFAULT NULL,
  `count` int(11) DEFAULT 0,
  `money` int(11) DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `account_tbl`;
CREATE TABLE `account_tbl` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(255) DEFAULT NULL,
  `money` int(11) DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 启动server

  • cd fescar-server/bin
  • sh fescar-server.sh 8091(端口) ../data(数据存储)
  • 关闭:ps -ef | grep fescar-server => kill - 9

3. idea中导入spring-boot-starter-seata

  • build account-service & debug accountServiceApplication
  • ... order
  • ... storage
  • ... business

4. 测试 postman

  • get: 127.0.0.1:18081/fescar/feign => success 下单扣款成功 | fail 业务失败
  • get: 127.0.0.1:18081/fescar/rest => success 重置业务

About


Languages

Language:Java 84.3%Language:Shell 8.6%Language:Batchfile 7.1%