Dante Cloud 是一款企业级微服务架构和服务能力开发平台,是采用领域驱动设计(DDD)思想的、全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的、支持智能电视、IoT等物联网设备认证的微服务解决方案。基于 Spring Authorization Server 1.1.2、Spring Boot 3.1.3、Spring Cloud 2022.0.4、Spring Cloud Tencent 1.11.9-2022.0.1、Spring Cloud Alibaba 2022.0.0.0、Nacos 2.2.4 等主流技术栈开发的多租户系统,遵循 SpringBoot 编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能
平台定位
- 构建成熟的、完善的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。
- 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。
- 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。
- 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。
[1] 本次更新内容
- 【主要更新】
- [升级] Spring Boot Admin 版本升级至 3.1.6
- [重构] 大幅重构 Session 相关内容,清晰微服务环境下 Session 共享逻辑,解决 Spring Security 6 环境下 Session 重放防护机制导致 Session 不匹配问题
- [优化] 将中间件 Session 体系、Spring Session 和 Dante Cloud 自定义 Session 体系深度融合。实现三者 Session 和 Session ID 的统一和一致,高质量的解决微服务架构下 Session 共享和 Session 一致性问题。
- 【其它更新】
- [优化] 将原有 WebUtils 工具类,拆分为 SessionUtils、CookieUtils、HeadersUtils 三个工具类,补充适配更多的场景的工具方法,用其删除和替换已有重复性代码,提升代码的可维护性。
- [优化] 优化单体版 application.yml 配置,以适配 Session 的一致性和 Session 共享统一化配置
- [重构] 参考 Spring Security 和 Spring Authorization Server 标准代码写法,重构资源服务器和授权服务器配置代码。
- [重构] 遵照 Spring Boot 规范,规范化 Dante Cloud 单体版代码。
- [重构] 重构自定义授权码模式和客户端模式代码配置代码,采用 Spring Authorization Server 新版本更推荐方式,以更优雅的方式进行扩展授权模式的配置。
- [重构] 提取自定义授权模式公共配置实现,按照 Spring Security 标准方式,以更优雅的方式配置自定义授权模式。
- [重构] 抽取共性方法,融合 Spring Session 和自定义 Session Session ID 获取逻辑,封装成统一方法,适配各种不同的场景调用需求,使用更方便也更容易进行统一维护。
- [重构] 使用多种方式融合的 Session 调用方法,重构前后端数据加密传输、WebSocket 等涉及 Session 的核心逻辑代码,将 Dante Cloud 中所有 Session 解析处理逻辑全部实现统一化。
- [重构] 将前端登录页面专用的组件代码,归并至相近文件夹中,以方便代码查找和维护,删除相关代码中的无用变量和引用
- [重构] 按照 Spring Boot 规范重构部分模块自动配置代码。
- [新增] 重新调整 Nacos 配置,优化 Spring Session 存储逻辑配置,新增 Session 统一快捷配置,可同时修改 Servlet 和 Spring Session 有效期。当前默认 2 小时
- [修复] 修复没有代码的空 Starter 模块编译时出现错误警告问题。fix: #I7W54Q
- [修复] 修复新版本 Bpmn 组件环境下,properties-panel 样式位置变更,导致 bpmn-designer 组件编译错误问题 fix: #I7W566
- [修复] 去除部分频繁输出的日志,减少无意义的频繁输出对问题判断的干扰。
- [修复] 修复配置代码错误,导致当 herodotus.swagger.enabled 参数设置为 false 时,系统启动抛错问题 fix: #I7WDQF (ISSUED by Simon Liu)
- [升级] minio 镜像版本升级至 RELEASE.2023-08-31T15-31-16Z
- 【依赖更新】
- [升级] redisson 版本升级至 3.23.4
- [升级] aws-java-sdk-s3 版本升级至 1.12.543
- [升级] tencentcloud-sdk-java-sms 版本升级至 3.1.847
- [升级] bootstrap webjars 版本升级至 5.3.1
- [升级] font-awesome webjars 版本升级至 6.4.2
- [升级] jquery webjars 版本升级至 3.7.1
- [升级] sqlite-jdbc 版本升级至 3.43.0.0
- [升级] wxjava 版本升级至 4.5.5.B
- [升级] snakeyaml 版本升级至 2.2
- 【升级说明】
- 本次更新涉及配置中心配置的变更,系统升级注意配置文件的变更
- 整合 Session 一致性方案,请参阅文章 《Spring Cloud 之 Session 共享及一致性处理》具体详情,访问官网【Cookbook】。
如官网内容未更新,请注意点击右下角内容更新提示,进行内容刷新。
[2] Dante Cloud 3.0.0 新特性
- 核心基础依赖便捷切换
- 新增
Spring Cloud Tencent 和 Spring Cloud 原生微服务全家桶等两种基础设施支持。
- 新增
Spring Cloud Alibaba、Spring Cloud Tencent 和 Spring Cloud 原生微服务全家桶三种基础设值切换能力,可以以相对便捷的方式切换使用 Alibaba、Tencent、Spring 等基础设施环境。可根据自身实际需求选择,不再局限于只能在某一种基础设施环境中运行。
- 支持
GraalVM 原生镜像
- 整体调整各类模块 pom build 配置,适当增加冗余重复配置,以支持
Spring Native 或 GraalVM 编译需要。规避对所有模块进行 Native 编译,而导致错误问题。
Spring Authorization Server 全特性支持及扩展
- 采用
pnpm monorepo 重构前端
- 未使用任何流行开源模版,使用全新技术栈,完全纯"手写"全新前端工程。
- 借鉴参考流行开源版本的使用和设计,新版前端界面风格和操作习惯尽量与当前流行方式统一。
- 充份使用 Typescript 语言特性,解决大量类型校验问题,尽可能规避 "any" 式的 Typescript 编程语言使用方式。
- 充份使用 Composition Api 和 Hooks 等 Vue3 框架新版特性进行代码编写。
- 充份利用 Component、Hooks 以及 Typescript 面向对象等特性,抽取通用组件和代码,尽可能降低工程重复代码。
- 对较多 Quasar 基础组件和应用功能组件进行封装,以方便代码的统一修改维护和开发使用。
- 对生产模式下,对基于 Vite3 的工程打包进行深度性能优化。
- 提供以 docker-compose 方式,对工程生产代码进行容器化打包和部署。
- 该版本基于 pnpm,采用 monorepo 模式对前端工程进行重构。构建 monorepo 版本前端,是为扩展更多功能、增加应用级功能做铺垫
- 抽取 utils、components、apis、bpmn-designer 等相关代码,形成共享模块。
- 共享模块已进行优化配置,可编译成独立的组件,单独以组件形式进行发布。
- 代码以共享模块的方式进行单独维护开发,降低现有工程代码复杂度,便于后续功能的扩展和代码的复用。
[3]界面预览
![]()
![]()
![]()
![]()
![]()
![]()
Dromara 开源社区
一、社区愿景
让每一位开源爱好者,体会到开源的快乐。
二、社区官网
https://dromara.org 是 Dromara 开源社区官方网站。
三、成员项目
![]()