Start-spring-cloud
├── cloud-core -- 框架模块
├ ├── core-authc -- 认证与授权配置
├ ├── core-boot -- springboot通用配置
├ ├── core-elasticsearch -- ES封装
├ ├── core-common -- 各种baseEntity,mapper,service,result,annotation
├ └── core-tool -- 工具类
├── cloud-gateway -- 网关
├── cloud-devops -- 运维开发
├ ├── code-generator -- 代码生成器
├── cloud-module -- 业务模块
├ ├── cloud-auth -- 示例服务:对外提供登录认证API
├ ├── cloud-sys -- 示例服务:提供认证、签权实现等
├ ├── cloud-demo -- 示例服务
├── cloud-module-api -- 业务模块api(vo、dto、feign等)
└── └── cloud-sys-api -- 示例:系统api
- 网关 spring cloud gateway
- 服务调用 openFeign
- 负载均衡 ribbon
- 熔断降级 sentinel
- 注册中心 nacos
- 配置中心 nacos
- 链路追踪 spring-sleuth+zipkin
- 缓存 redis,(spring-cache)
- 认证 jwt
- ORM mybatis-plus
- druid 数据库连接池与监控
- 全局异常处理
- 权限校验
- API文档 swagger2
- 分布式事务 seata V1.2.0
- redis key命名规范,集群下redis是没有多数据库,需要命名规范来实现 namespace隔离各服务缓存数据,或者使用不同 redis实例存储
- 错误码编码规范
- 各服务配置参考 cloud-module/cloud-demo 项目下的 application.yml 需要注意的是 nacos 配置中心的 dataId,namespace,group
- nacos 用于注册中心,配置中心
- mysql 因为 cloud-demo 整合 Mysql测试
- redis 用于缓存
- zipkin-server 链路追踪数据收集
- sentinel-dashboard.jar 控制台(可选,不启动也可以)
- 启用分布式事务,需要启动 seata 服务端
1.修改最外层 pom.xml 中的 1.0-SNAPSHOT
2.在项目根目录执行 mvn clean -N versions:update-child-modules
执行完以上步骤会把所有子项目中的 parent 节点中的 version 改为统一版本号
- 开发环境 mvn clean install -Dmaven.test.skip=true -Pdev
- 测试环境 mvn clean install -Dmaven.test.skip=true -Ptest
- 生产环境 mvn clean install -Dmaven.test.skip=true -Pprd
- 不同环境具体查看顶层的 pom.xml 中配置的 profiles