jfcloud
源码:https://gitee.com/zhaojunfu2014/jfcloud
介绍
基于springcloud的demo实践
技术栈:
- SpringBoot
- MybatisPlus
- SpringCloud
- Nacos
- Sentinel
- SpringCloud Gateway
- Seata
- Skywalking
- Swagger
- Lombok
本项目功能:
- 微服务token服务(颁发和验证token,基于jwt+aes)
- 商品展示微服务
- 库存扣减微服务
- 余额扣减微服务
- 订单提交微服务(下单,扣余额,扣库存… 聚合链路调用)
- 分布式事务
服务清单
服务 | 端口 |
---|---|
nacos | http://127.0.0.1:8848 |
seata | http://127.0.0.1:8091 |
skywalking | http://127.0.0.1:7099 |
swagger | http://127.0.0.1:7000/doc.html |
前端界面 | http://127.0.0.1:8001 |
网关(spring cloud gateway) | http://127.0.0.1:7000 |
用户微服务 | http://127.0.0.1:7001 |
商品微服务 | http://127.0.0.1:7002 |
订单微服务 | http://127.0.0.1:7003 |
库存微服务 | http://127.0.0.1:7004 |
注册中心 Nacos
链路追踪组件 skywalking
基于Seata的分布式事务回滚
如何运行
- 数据库脚本目录:docs/databases 每个脚本导入到不同数据库中,数据库名和脚本名保持一致
- 依赖服务目录:jfcloud-servers 里面分别是nacos、skywalking等springcloud组件的服务包
- 前端UI目录:jfcloud-ui 基于ant-design-vue
- 启动
- 首先下载并启动jfcloud-servers里依赖的服务 详细
- 按照docs/databases里的脚本建立好各数据库(每个sql文件单独建库)
- 依次启动jfcloud-mall-*工程以及jfcloud-gateway 等多个SpringBoot工程 (运行各工程内的xxApplication.java)
- 运行jfcloud-ui的前端项目 命令:yarn run serve (首次先yarn install或 npm install) 访问:http://127.0.0.1:8001