您现在的位置是:首页 > 文章详情

Dante Cloud 3.5.5.3 发布,重塑内核,更符合Spring Boot 范儿的开发体验

日期:2025-09-10点击:5

[一] 项目简介

Dante Cloud 国内首个支持阻塞式和响应式服务并行的、开箱即用的企业级云原生微服务基座。是采用领域驱动模型(DDD)设计思想,以「高质量代码、低安全漏洞」为核心,基于 Spring 生态全域开源技术,高度模块化和组件化设计,支持智能电视、IoT等物联网设备认证,满足国家三级等保要求,支持接口国密数字信封加解密等一系列安全体系的一站式多租户微服务解决方案。独创的可以“一套代码实现微服务和单体两种架构灵活切换”的企业级应用系统。

[二] 项目理念

Dante Cloud 一直秉承着“简洁、高效、包容、务实”的理念,使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,不断地深耕细作、去粗取精、用心打造。目标是构建一款代码质量高、维护投入低、安全防护强的微服务基座,可以帮助用户快速跨越架构技术选型、技术研究探索、基础架构搭建阶段,直接聚焦业务开发。极大地降低传统项目中因安全漏洞、技术负债、低质代码等潜在隐患所产生的高维护投入。期望像项目名字寓意一样,构建一套可以在在行业变革的时期承上启下,助力企业信息化建设和数字化转型的产品。

Dante Cloud 核心关注点是:「高质量的系统代码」「合理的系统架构」「低耦合的模块划分」「高安全性系统实现」「灵活的功能扩展能力」「优质的微服务防范」。不会像其它一些系统一样,追求 业务功能丰富 性。堆叠大量无法做到真正通用的功能,反倒会成为负担和干扰,不如由用户自己按照需求灵活设计和实现。

[三] 架构设计

Dante Cloud 并未使用任何复杂难懂或难以上手掌握的技术,项目中所涉及核心关键组件中,其中「近 80% 均为 Spring 生态原生组件」。技术实现均为各组件标准用法的组合与应用,编码风格和代码设计一直也在极尽努力尽量与 Spring 生态的标准规范用法保持一致,只不过经过大量的版本迭代和重构之后逐渐形成了一定的封装与抽象。

除了提供一套完整的微服务架构以外,还支持以单体架构运行。这里的微服务架构和单体架构并不是分离的两套代码,也不是分离的两个项目。而是完全融合的一整套代码,使用时可以根据需要选择是以微服务模式或者单体模式运行。这是 Dante Cloud 微服务最大的特色之一:“一套代码、两种架构”。可以帮助企业在项目早期以单体架构快速建设项目、方便开发人员在本地进行开发以及新技术研究。在项目后期随着用户规模增大以及并发需求提升时,可以快速无缝迁移至微服务架构。

[四] 适用用户

微服务技术并不是落伍了,而是进入了成熟期,它的适用场景和边界被更清晰地定义了。微服务不再是一个“必须要有”的选项,而是一个“权衡之后”的选择。本项目适用的用户如下:

  • 传统项目用户:可以先体验的单体版,先从“前后端分离”以及“多端适配”开始,尝试不同于传统内嵌页面的开发模式。
  • 数字转型用户:如果您的业务复杂度上升到一定阶段、或者您正在考虑进行数字化转型,可以直接选择使用微服务版本,不用再为“基础组件碎片化,需花大量时间整合、踩坑版本兼容”等问题而苦恼。
  • 复杂项目用户:可以直接选择微服务版本,节省大量前期搭建基础设施、解决通用技术问题的时间,直接聚焦于业务开发。
  • 初创团队用户:可以先使用单体版进行开发,只要代码放置规范、模块划分合理,后期可以根据需要无缝迁移至微服务架构
  • 技术尝鲜用户:项目使用中力争生态圈中较新的技术或者组件,而不拘泥局限于常规成熟的技术内容,目标是探索新型技术并用其来为业务的创新服务。喜欢技术尝鲜的用户可以尝鲜使用。
  • 学习提升用户:本项目集成了成熟的技术选型、优雅的代码设计和清晰的领域划分,编码风格和代码设计一直也在极尽努力尽量与 Spring 生态的标准规范用法保持一致,是深入学习掌握 Spring 生态各组件的优秀案例

想要从传统项目转型至微服务项目的用户,建议详细阅读《企业IT架构转型之道:阿里巴巴中台战略思想与架构实战》一书(可以先读前几章)之后再上手本项目!

[五] 交流反馈

为了方便 Dante Cloud 开源版及企业版用户交流,深入了解、掌握 Dante Cloud 使用相关技术栈,快速解决实际应用问题。自 2025年8月18日起,Dante Cloud 重新开放 技术交流群,欢迎所有 真心 交流技术朋友加入。

如何进群:详见【技术交流群】

[六] 本次更新

“本次升级绝非简单的代码同步,而是一次从架构理念到实现方式的深度重构。借鉴企业版在生产环境中积累的最佳实践,对开源组件库进行了‘淬炼’:

  1. 结构上,我们重新划分了模块边界,使得 组件的内聚性大幅提升。每个组件的职责更加单一和明确,就像一个功能精湛的‘瑞士军刀’模块,开发者可以真正地像‘组装乐高’一样,按需引入所需功能,极大提升了使用的灵活性与项目的轻量化。
  2. 依赖上,我们极大地 降低了组件之间以及与第三方库的非必要耦合。这不仅减少了潜在的依赖冲突,使得与 Spring Boot 生态及其他主流依赖的集成更加平滑稳定,也让每个组件的‘独立使用’成为了可能。你现在可以轻松地将某个组件单独抽离,集成到任何基于 Spring Boot 的技术栈中。
  3. 规范上,我们确保所有组件的设计都 更严格地遵循 Spring Boot 的官方规范和习惯用法,特别是新版本 Spring Boot 新增加的用法。这意味着更低的学习成本、更熟悉的配置方式、以及更优雅的代码逻辑。
  • 主要更新
    • [重磅] 对齐开源版和企业版内核模块结构及代码逻辑
    • [重构] 适配 commons-lang3 最新版本,全面消除过时方法。
  • 其它更新
    • [重构] 重构系统核心权限验证及去重逻辑,将其核心验证方法有原有基于 AntPathRequestMatcher 扩展思路变更为使用 Spring Security 新版更为推荐的 PathPatternRequestMatcher 方式,效率更高代码逻辑也更加简洁。
    • [重构] 采用新的 protobuf maven 插件替换原有老旧版本插件,以支持使用最新版 protobuf 4.X 编译生成 grpc 代码
    • [重构] 重构 ip2region 模块为 ip2location,新增大 xdb 文件查询支持。
    • [新增] 新增 qqwry ip 地址查询代码
    • [修复] 修复在微服务架构下,当用户没有接口权限时,返回的错误信息不准确问题
    • [修复] 修复系统内引用 jquery webjars maven 坐标已过时问题
    • [修复] 修复前端页面登录成功后页面控制台页面不显示问题
    • [修复] 修复应用合规数据存储代码字段长度不足,无法存储 ipv6 地址问题 fix: #ICVJYM
    • [优化] 自定义页面涉及第三方 js 组件全部替换为 webjars 方式
    • [优化] 优化自定义授权码授权模式登录页面
    • [优化] 自定义内嵌授权码授权模式 登录页面,补充缺失的 bootstrap 引用
    • [优化] 服务 Docker 使用的 liberica 镜像由 liberica-openjdk-debian 替换为 liberica-openjre-debian,以减少生成 Docker 镜像的大小
    • [安全] 修复 commons-lang3 CVE-2025-48924 和 zookeeper CVE-2024-51504 漏洞问题
    • [升级] ip 位置数据库更新至 2025-09-10
    • [升级] Nodejs 版本升级至 22.19.0
  • 依赖更新
    • [升级] protobuf-maven-plugin 版本升级至 3.9.0
    • [升级] alipay-sdk-java 版本升级至 4.40.440.ALL
    • [升级] hypersistence-utils-hibernate-63 版本升级至 3.11.0
    • [升级] software.amazon.awssdk 版本升级至 2.33.5
    • [升级] software.amazon.awssdk.crt 版本升级至 0.38.11
    • [升级] springdoc 版本升级至 2.8.13
    • [升级] wxjava 版本升级至 4.7.7-20250904.091948
    • [升级] webauthn4j 版本升级至 0.29.6.RELEASE、
    • [升级] redisson 版本升级至 3.51.0
    • [升级] loki-protobuf 版本升级至 0.0.2_pb4.31.0
    • [升级] mybatis-plus 版本升级至 3.5.14
    • [升级] protobuf 版本升级至 4.32.0
    • [升级] checker-qual 版本升级至 3.50.0
    • [升级] hutool 5.X 版升级至 5.8.40
    • [升级] zookeeper 版本升级至 3.9.4
    • [升级] bootstrap webjars 版本升级至 5.3.8
    • [升级] inter-ui webjars 版本升级至 4.1.1
    • [升级] @tabler/core webjars 版本升级至 1.4.0
    • [升级] sweetalert2 webjars 版本升级至 11.23.0
    • [升级] vue webjars 版本升级至 3.5.21

[七] 代码结构

1. 主工程结构

dante-cloud
├── configurations -- 配置文件脚本和统一Docker build上下文目录
├── dependencies -- 工程Maven顶级依赖,统一控制版本和依赖
├── module -- 依赖组件半成品拼装工程(可以再此建立业务代码模块,以模块的形式实现代码的共享以及架构的切换)
├    ├── dante-module-common -- Module 相关模块公共辅助代码模块
├    └── dante-monomer-autoconfigure -- 单体版自动配置模块
├── packages -- 基础核心Starter
├    ├── authentication-spring-boot-starter -- OAuth2 授权服务器自动配置 Starter(主要用于 UAA 认证服务器以及单体版 Dante Cloud)
├    ├── authorization-servlet-spring-boot-starter -- 阻塞式 OAuth2 资源服务器自动配置 Starter(除了 Monitor 等特殊服务以外,所有服务均需依赖)
├    ├── facility-spring-boot-starter -- 基础设施切换依赖 Starter
├    ├── rpc-client-uaa-spring-boot-starter -- 服务间通信客户端自动配置 Starter(UAA 作为客户端端访问其它服务)
├    └── rpc-server-upms-spring-boot-starter -- 服务间通信服务端自动配置 Starter(UPMS 作为服务端为其它服务提供访问)
├── platform -- 平台核心服务
├    ├── dante-cloud-gateway -- 统一网关服务
├    ├── dante-cloud-message -- 系统消息服务
├    ├── dante-cloud-monitor -- Spring Boot Admin 监控服务
├    ├── dante-cloud-upms -- 统一权限管理系统服务
├    └── dante-cloud-uaa -- 账户管理和统一认证模块
├── services -- 平台业务服务
├    ├── dante-cloud-bpmn-ability -- 工作流服务
├    ├── dante-cloud-bpmn-logic -- 工作流基础代码包
├    ├── dante-cloud-oss-ability -- 对象存储服务
└──  └── dante-monomer-application -- Dante Cloud 单体版应用模块

2. 组件库结构

dante-engine
├── dependencies -- 工程 Maven 顶级依赖,统一控制版本和依赖
├── engine-assistant -- 辅助功能模块
├    ├── assistant-access -- 第三方登录接入辅助功能模块
├    └── assistant-captcha -- 验证码辅助功能模块
├── engine-cache -- 缓存功能模块
├    ├── cache-core -- 缓存通用代码模块
├    ├── cache-module-caffeine -- Caffeine 缓存功能封装模块
├    ├── cache-module-jetcache -- JetCache 缓存功能封装模块
├    ├── cache-module-redis -- Redis 缓存功能封装模块
├    └── cache-module-redisson -- Redisson 缓存功能封装模块
├── engine-core -- 基础核心模块
├    ├── core-autoconfigure -- 核心自动配置模块
├    ├── core-definition -- 核心定义模块
├    ├── core-foundation -- 基础通用模块
├    └── core-identity -- 身份认证通用模块
├── engine-data -- 数据访问模块
├    ├── data-core -- 数据访问通用代码模块
├    ├── data-core-jpa -- 以 JPA 作为数据访问层的通用代码模块
├    ├── data-core-mongodb -- 以 MongoDB 作为数据访问层的通用代码模块
├    ├── data-module-hibernate -- Hibernate 扩展模块
├    └── data-module-tenant -- 基于 JPA 的多租户扩展配置模块
├── engine-logic -- 系统内置功能业务逻辑模块
├    ├── logic-module-identity -- 身份认证功能业务逻辑模块
├    ├── logic-module-message -- 系统消息业务逻辑模块
├    └── logic-module-upms -- UPMS 业务逻辑模块
├── engine-message -- 消息模块
├    ├── message-autoconfigure -- 消息自动配置模块
├    ├── message-core -- 消息通用代码模块
├    └── message-module-websocket-servlet -- 基于 Servlet 环境下的 Websocket 功能封装模块
├── engine-oauth2 -- OAuth2 认证模块
├    ├── oauth2-authentication-autoconfigure -- OAuth2 授权服务器基础内容自动配置模块
├    ├── oauth2-authorization-autoconfigure -- OAuth2 资源服务器基础内容自动配置模块
├    ├── oauth2-core -- OAuth2 共性通用代码模块
├    ├── oauth2-module-authentication -- Spring Authorization Server 授权服务器核心功能封装模块
├    ├── oauth2-module-authorization -- Spring Authorization Server 资源服务器核心功能封装模块
├    ├── oauth2-module-extension -- Spring Authorization Server 功能扩展模块
├    └── oauth2-module-persistence-jpa -- 以 JPA 作为 SAS 核心数据访问层代码实现模块
├── engine-rest -- 系统内置功能 REST 接口模块
├    ├── rest-module-servlet-identity -- 身份认证功能 Servlet 环境 REST 接口模块
├    ├── rest-module-servlet-message -- 消息功能 Servlet 环境 REST 接口模块
├    └── rest-module-servlet-upms -- UPMS 功能 Servlet 环境 REST 接口模块
├── engine-starter -- Starters
├    ├── cache-spring-boot-starter -- 缓存自动配置 Starter
├    ├── captcha-spring-boot-starter -- 验证码自动配置 Starter
├    ├── data-mongodb-spring-boot-starter -- MongoDB 数据访问层自动配置 Starter
├    ├── data-rdbms-spring-boot-starter -- 关系型数据库数据访问层自动配置 Starter
├    ├── facility-alibaba-spring-boot-starter -- 面向 Spring Cloud Alibaba 的微服务基础设施适配 Starter
├    ├── facility-gateway-spring-boot-starter -- Alibaba Sentinel 在 Gateway 环境下基础设施适配 Starter
├    ├── facility-kafka-spring-boot-starter -- 基于 Kafka 的消息事件自动配置 Starter
├    ├── facility-tencent-spring-boot-starter -- 面向 Spring Cloud Tencent 的微服务基础设施适配模块 Starter
├    ├── logging-spring-boot-starter -- 日志收集和聚合自动配置 Starter
├    ├── reactive-container-spring-boot-starter -- Reactive 容器基础配置自动配置 Starter
├    ├── servlet-container-spring-boot-starter -- Servlet 容器基础配置自动配置 Starter
├    ├── servlet-message-spring-boot-starter -- Servlet 环境消息模块自动配置 Starter
├    └── webmvc-spring-boot-starter -- WebMvc 类型应用自动配置 Starter
├── engine-web -- Web 模块
├    ├── web-core -- Web 通用代码模块
├    ├── web-module-api -- Rest 接口通用代码模块
├    ├── web-module-service -- 微服务通用代码模块
├    └── web-module-servlet -- Servlet 环境 Web 服务专有基础代码模块
└──  readme -- README 相关素材放置目录

如果本项目对你有所帮助,欢迎 Star 一波来支持我们!

原文链接:https://www.oschina.net/news/371438/dante-cloud-3-5-5-3-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章