Eurynome Cloud 是一款企业级微服务架构和服务能力开发平台。首个全面拥抱 Spring Authorization Server 的版本,基于Spring Boot 2.7.7、Spring Cloud 2021.0.2、Spring Cloud Alibaba 2021.0.1.0、 Spring Authorization Server 0.2.3、Nacos 2.1.0 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能
平台定位
- 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方案。
- 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。
- 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。
- 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。
[1]、发布背景
2021年11月8日 Spring 官方已经强烈建议使用 Spring Authorization Server 替换已经过时的 Spring Security OAuth2.0。
在 Spring Security OAuth2 彻底停止维护、Spring Boot 2.7.0 正式发布之时,又恰逢 Eurynome Cloud 开源一周年之际,推出基于 Spring Authorization Server 0.2.3、Spring Boot 2.7.0、Spring Cloud 2021.0.2、Spring Cloud Alibaba 2021.0.1.0 和 Nacos 2.1.0 的全新正式版本。该版本基于 Spring Authorization Server 0.2.3 和 Spring Boot 2.7.0 全新定制开发,细节满满,欢迎品鉴。
[2]、本次更新内容
- 主要更新
- Fastjson 版本升级至 1.2.83。消除 Fastjson 反序列化任意代码执行漏洞。
- 使用 Jackson 全面替换工程中涉及的 Fastjson 代码。保留工程 Fastjson 依赖,用于统一控制其它第三方依赖包中依赖的 Fastjson 版本。
- 其它更新
- 合并原有 assistant-sdk-json 包至 assistant-core。新增 Gson 通用工具类。
- 重构缓存相关模块,将 redis 和 caffeine 模块独立出来。使用标准化方式重新配置 redis,解决早期在 jar 包模式下,自定义 Redis 配置不生效问题
- 使用 Spring Boot 2.7.0 新的自动配置注册文件,调整部分 starter 自动注入配置文件
- 增加基于 Redis 的 Spring Cloud Session 共享基础配置。同时支持 Servlet 和 Webflux
- 去除重复定义的 JPA 实体自定义 KEY Generator 名称
- 依赖更新
- Redisson 版本升级 3.17.2
- Logstash Logback Encoder 版本升级至 7.2
- WxJava 版本升级至 4.3.4.B
- MyBatis 版本升级至 3.5.10
- Tencentcloud-sdk-java 版本升级 3.1.514
- Qiniu-java-sdk 版本升级至 7.10.3
- Alipay-sdk-java 版本升级至 4.23.26.ALL
- com.baidu.aip 版本升级至 4.16.8
【3】、Eurynome Cloud 2.7.X 主要变化
【4】、额外说明
- 本项目以后将主要维护 Spring Authorization Server 版本,原有基于 Spring Security OAuth2 的版本已经移至 spring-security-oauth2 分支,可以从该分支或发行版页面获取历史版本继续使用。后期会根据 ISSUE 以及使用用户反馈情况,再行决定是否继续维护 Spring Security OAuth2 版本。
- 最新版本代码,暂时继续沿用原有基于 Vue2、Vuetify2、Typescript开发的前端系统。基于 Vue3、Vite2、Vuetify3、Pinia 等新版前端正在加进开发中,由于 Vuetify3 版本发布跳票以及部分已有组件的缺失,导致新版前端开发延后。
- 原有基于 Vue2、Vuetify2、Typescript 开发的前端,由于使用了过渡性 Typescript IOC 组件,以及依赖组件版本限制等问题,初次接触该项目在编译过程中会出现一些问题,请移步至本项目在线文档,详见“常见问题”章节。