本项目从HouseApp演变而来,实现一样的业务场景,但是基于不一样的技术架构。
- 开发框架采用Spring Boot 1 + CSE (Spring Boo 2参考分支spring-boot-2.0-with-zipkin)
- 事务框架采用Saga,该框架提供了TCC、Saga两种事务模式的支持
- 安装mysql数据库
- 创建数据库: creata database saga;
- 下载最新Saga代码
- 修改alpha\alpha-server\src\main\resources\application.yaml文件.
配置正确的mysql信息:
spring:
profiles: mysql
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/saga?useSSL=false
platform: mysql
continue-on-error: true
修改服务器监听的端口(可选)
server:
port: 6090
alpha:
server:
host: 0.0.0.0
port: 7080
- 编译项目:mvn clean install -Pmysql -DskipTests
- 启动Alpha
cd alpha\alpha-server\target\saga
java -Dspring.profiles.active=mysql -D"spring.datasource.url=jdbc:mysql://localhost:3306/saga?useSSL=false" -Dspring.datasource.username=root -Dspring.datasource.password=root -jar alpha-server-0.3.0-SNAPSHOT-exec.jar
java -Dspring.profiles.active=mysql -jar alpha-server-0.3.0-SNAPSHOT-exec.jar
- 检查。服务正常启动后,可以进入数据库saga. 可以看到自动生成了一些表。
mysql> show tables;
+-----------------------+
| Tables_in_saga |
+-----------------------+
| command |
| tcc_global_tx_event |
| tcc_participate_event |
| tcc_tx_event |
| txevent |
| txtimeout |
+-----------------------+
- 下载最新代码
- 编译:mvn clean install
- 运行买房系统: start.bat。会启动6个微服务,如果单机运行可能需要占用大量内存,启动会比较慢,建议准备多个机器执行,同时修改alpha的地址信息。
- 检验:输入http://localhost:18080/, 用户user2,密码test登录。目前可以进行重置数据和抢购操作。