- 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方案。
- 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。
- 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。
- 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。
[1]、本次更新内容
- 主要更新
- Nacos 版本更新至 2.1.0, 同步更新 Nacos Docker 版本,新增 Nacos 2.1.0 SQL 脚本。(提示:该版本有数据结构变化,建议备份已有配置信息,重新导入数据库脚本)
- 其它更新
- 删除 commons-beanutils 依赖,并重构该依赖涉及的代码,解决由其依赖的 commons-collections 3.X 包引起的安全漏洞。
- 删除 h2 database 依赖,解决由于 Spring Boot 默认依赖版本 h2 driver 引起的安全漏洞问题。
- 依赖更新
- Minio 版本升级至 8.4.0
- Okhttps 版本升级至 3.5.1
- Alipay-sdk-java 版本升级至 4.23.0.ALL
[2]、总体架构
[3]、特色功能演示
(1)方法级可配置动态权限
(2)组合式、可定制图形验证码
[4]、技术栈和版本说明
(1)Spring全家桶及核心技术版本
组件 | 版本 |
Spring Boot | 2.6.7 |
Spring Cloud | 2021.0.2 |
Spring Cloud Alibaba | 2021.0.1.0 |
Spring Boot Admin | 2.6.6 |
Nacos | 2.1.0 |
Sentinel | 1.8.3 |
Seata | 1.3.0 |
(2)所涉及的相关的技术
- 持久层框架: Spring Data Jpa & Mybatis Plus
- API网关:Spring Cloud Gateway
- 服务注册&发现和配置中心: Alibaba Nacos
- 服务消费:Spring Cloud OpenFeign & RestTemplate & OkHttps
- 负载均衡:Spring Cloud Loadbalancer
- 服务熔断&降级&限流:Alibaba Sentinel
- 服务监控:Spring Boot Admin
- 消息队列:使用Spring Cloud消息总线Spring Cloud Bus 默认Kafka 适配RabbitMQ
- 链路跟踪:Skywalking
- 分布式事务:Seata
- 数据缓存:JetCache + Redis + Caffeine, 自定义多级缓存
- 数据库: Postgresql,MySQL,Oracle ...
- JSON序列化:Jackson & FastJson
- 文件服务:阿里云OSS/Minio
- 数据调试:p6spy
- 日志中心:ELK
- 日志收集:Logstash Logback Encoder
[5]、工程结构
eurynome-cloud
├── configurations -- 配置文件脚本和统一Docker build上下文目录
├── dependencies -- 工程Maven顶级依赖,统一控制版本和依赖
├── packages -- 基础通用依赖包
├├── eurynome-cloud-assistant -- Spring相关公共辅助工具、注解相关工具代码组件
├├── eurynome-cloud-cache -- Cache和Redis工具模块组件
├├── eurynome-cloud-captcha -- 验证码模块组件
├├── eurynome-cloud-data -- 数据持久化等数据处理相关代码组件
├├── eurynome-cloud-kernel -- 微服务接入平台必备组件
├├── eurynome-cloud-message -- 消息处理相关代码组件
├├── eurynome-cloud-oauth -- OAuth2通用代码
├├── eurynome-cloud-oauth-starter -- 自定义OAuth2 Starter,Athena单体版核心Starter
├├── eurynome-cloud-rest -- Rest相关代码组件
├├── eurynome-cloud-sercurity -- Security通用代码
├├── eurynome-cloud-starter -- 微服务核心Starter
├├── eurynome-cloud-web -- Web 应用基础组件
├└── eurynome-cloud-websocket -- WebSocket核心代码包
├── platform -- 平台核心服务
├├── eurynome-cloud-gateway -- 服务网关
├├── eurynome-cloud-monitor -- Spring Boot Admin 监控服务
├└── eurynome-cloud-uaa -- 统一认证模块
├── services -- 平台业务服务
├├── eurynome-cloud-upms-logic -- 通用用户权限service
├├── eurynome-cloud-upms-rest -- 通用用户权限rest 接口
├├── eurynome-cloud-upms-ability -- 通用用户权限服务
├├── eurynome-cloud-upms-rest -- 工作流基础代码包
└──└── eurynome-cloud-bpmn-ability -- 工作流服务