参考项目

  1. zlt2000 / microservices-platform :完整的oauth2+spring security 应用,详细在线文档https://www.kancloud.cn/zlt2000/microservices-platform/919418

  2. [mrbird / FEBS Cloud]:完整的spring cloud 应用,详细在线文档https://www.kancloud.cn/mrbird/spring-cloud/1265030

  3. open-hand / hzero: 基于微服务架构开源免费的企业级PaaS平台

  4. 中冶华天
  5. 金凤

项目整体架构图

微信图片_20210702090934.png

技术选型

spring cloud.jpg
注:spring-cloud:2020.0.3 已剔除全部netty框架,ribbon已经被剔除,代替的为spring-cloud-starter-loadbalancer

运行环境

工具 版本
Java 8
Maven 3.5.3
Redis 4+
Mysql 5.7+ ,8.0.14+
Elasticsearch 7.x
代码仓库 阿里云
Maven镜像 https://maven.aliyun.com/repository/public
IDE IDEA
Docker 1.13.1+

核心依赖

pm-cloud spring-cloud-alibaba spring-boot spring-cloud spring-cloud-starter-oauth2 security-oauth2
1.0-SNAPSHOT 2021.1 2.5.4 2020.0.3 2.2.5.RELEASE 2.3.4.RELEASE

项目结构

  1. com.np-pm-cloud
  2. ├── pm-common #项目公共模块
  3. ├── pm-common-core #core,项目的核心模块,依赖于log-starter和repository-starter,用于封装工具类,接口和常量
  4. ├── pm-common-dataway-starter #dataway-starter,dataway的装配
  5. ├── pm-common-datasource-starter #datasource-starter,项目数据源管理模块,对于mybatis-plus等方面的扩展和封账
  6. ├── pm-common-elasticsearch-starter #elasticsearch-starter,用于ES的装配
  7. ├── pm-common-file-core-starter #file-core-starter,用于文件服务的装配
  8. ├── pm-common-loadbalancer-starter #loadbalancer-starter模块,服务之间的调用和负载均衡
  9. ├── pm-common-log-starter #log-starter,用于管理整个项目的日志
  10. ├── pm-common-redis-starter #redis-starter,用于封装redis
  11. ├── pm-common-repository-starter #repository-starter,用于存放公共实体类
  12. ├── pm-common-rocket-api-starter #rocket-api-starter,rocket-api装配
  13. ├── pm-common-security-starter #security-starter模块,oauth2用于认证,spring security用于鉴权
  14. ├── pm-common-sentinel-starter #sentinel-starter模块,流量控制、熔断降级
  15. ├── pm-common-spring-boot-starter #spring-boot-starter模块,公共spring boot封装以及公共feign的装配
  16. ├── pm-common-swagger2-starter #swagger-starter模块,用于管理swagger
  17. ├── pm-configure #配置中心模块,用于导入公共配置文件
  18. ├── pm-doc #项目文档目录,保存项目的文档,不作为开发使用
  19. ├── img #保存项目用图
  20. ├── sql #保存项目必要sql文件
  21. └── 规范 #保存项目的开发规范文件
  22. ├── pm-job #定时任务模块,使用xxl-job框架
  23. ├── pm-job-admin #定时任务管理服务
  24. ├── pm-job-run #定时任务执行服务
  25. ├── pm-log #日志系统
  26. ├── pm-msg #消息系统
  27. ├── pm-sys #核心系统
  28. ├── pm-auth #认证系统
  29. ├── pm-test #测试demo
  30. └── README.md #系统文档说明