[一] 项目简介
Dante Cloud 国内首个支持阻塞式和响应式服务并行的微服务平台。是采用领域驱动模型(DDD)设计思想,以「高质量代码、低安全漏洞」为核心,基于 Spring 生态全域开源技术,高度模块化和组件化设计,支持智能电视、IoT等物联网设备认证,满足国家三级等保要求,支持接口国密数字信封加解密等一系列安全体系的多租户微服务解决方案。独创的可以“一套代码实现微服务和单体两种架构灵活切换”的企业级应用系统。
[二] 项目理念
Dante Cloud 一直秉承着“简洁、高效、包容、务实”的理念,使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,不断地深耕细作、去粗取精、用心打造。目标是构建一款代码质量高、维护投入低、安全防护强
的,可以帮助用户快速跨越架构技术选型、技术研究探索阶段,降低传统项目中因安全漏洞、技术负债、低质代码等潜在隐患所产生的高维护投入,期望像项目名字寓意一样,在行业变革的时期承上启下,助力企业信息化建设和变革的产品。
Dante Cloud 核心关注点是:「高质量的系统代码」、「合理的系统架构」、「低耦合的模块划分」、「高安全性系统实现」、「灵活的功能扩展能力」,「优质的微服务实现」。不会像其它一些系统一样,追求 业务功能 的 丰富 性。堆叠大量无法做到真正通用的功能,反倒会成为负担和干扰,不如由用户自己按照需求灵活设计和实现。
[三] 架构设计
Dante Cloud 除了提供一套完整的微服务架构以外,还支持以单体架构运行。这里的微服务架构和单体架构并不是分离的两套代码,也不是分离的两个项目。而是完全融合的一整套代码,使用时可以根据需要选择是以微服务模式或者单体模式运行。这是 Dante Cloud 微服务最大的特色之一:“一套代码、两种架构”。
基于
Spring Boot
和Spring Cloud
的微服务架构,已经成为企业级应用建设的主流方案。但不可否认的是,搭建一套微服务架构所需的基础设施越来越多,也越来越复杂。仅仅是在开发电脑上搭建一套运行开发调试环境,其复杂度和所需的资源也不容小觑。而很多应用特别是小型应用,在早期开发中或者用户量不大的前期,很多情况下一套单体的,前后端分离的后台就足以满足。完全没有必要上一整套微服务,额外增加复杂度。
Dante Cloud “一套代码、两种架构” 的特点,可以帮助企业在项目早期以单体架构快速建设项目、方便开发人员在本地进行开发以及新技术研究。在项目后期随着用户规模增大以及并发需求提升时,可以快速无缝迁移至微服务架构。
[四] 核心组件
本项目所涉及和使用的核心关键组件中,其中近 80% 均为 Spring 生态原生或其相关或其默认的组件。使用方法以及代码风格一直也在极尽努力尽量与 Spring 生态的标准规范用法保持一致。
- 听过不等于知道
- 知道不等于了解
- 了解不等于会用
- 会用不等于精通
因此,如果你觉得本项目学习曲线高、掌握难度大,不像其它同类开源项目那样“简单”,那么很有可能是你尚未 真正 的了解或者掌握 Spring 生态的相关组件。当然,换个角度,本项目也可以是 深入学习掌握 Spring 生态各组件的优秀案例。
本项目提供了《Dante Cloud 及相关知识学习方法和学习路径的建议》,欢迎感兴趣的朋友阅读,【在线阅读】
Dante Cloud 所使用的核心组件如下:
序号 | Spring 生态组件 | 国内开源组件 |
---|---|---|
1 | Spring Boot | Spring Cloud Alibaba |
2 | Spring Security | Spring Cloud Tencent |
3 | Spring Security OAuth2 | JetCache |
4 | Spring Authorization Server | Mybatis Plus |
5 | Spring Data JPA | JustAuth |
6 | Spring Data MongoDB | WxJava |
7 | Spring Data Redis | Hutool |
8 | Spring Data Envers | sms-spring-boot-starter |
9 | Spring Cloud | -- |
10 | Spring Cloud Bus | -- |
11 | Spring Cloud Stream | -- |
12 | Spring Cloud Gateway | -- |
13 | Spring Cloud Loadbalancer | -- |
14 | Spring Cloud OpenFegin | -- |
15 | Spring Cloud Zookeeper | -- |
16 | Spring Session | -- |
17 | Spring Integration | -- |
18 | Spring Kafka | -- |
19 | Spring WebSocket | -- |
20 | Spring RSocket | -- |
21 | Spring Webflux | -- |
22 | Micrometer | -- |
23 | SpringDoc | -- |
24 | Spring Boot Admin | -- |
[五] 特性介绍
Dante Cloud 演示系统已发布,目前包括在线版、单体离线版(Docker)和微服务镜像版, 欢迎体验使用!
体验地址:https://www.herodotus.vip/get-started/preview/online.html
有任何意见和建议,可以【发 ISSUE】留言。
[六] 更新内容
- 主要更新
- [升级] Spring Boot 版本升级至 3.5.3
- [升级] Nacos 版本升级至 3.0.2
- [升级] Spring Boot Admin 升级至 3.5.1
- 其它更新
- [修复] 修复前端在设置了 Base Path 情况下,DisableDevtool 禁止页面 URL 跳转错误问题。
- [修复] 修复 Emqx Webhook 内置事件实体属性重复导致出现反序列化出现空属性问题。
- [重构] 将物联网数据二元组改为域对象定义,以减少数据设置错误,提升数据使用明确性。
- [重构] 物联网相关工具类和域定义迁移至 ThingsBrain。
- [重构] 调整 @ConditionalOnArchitecture 所在包,以支持更大范围的使用。
- [重构] 调整部分代码所在目录,降低模块的交叉使用,提升代码的内聚性
- [重构] 提取客户端注册通用代码模块
- [优化] 优化 RestClient 配置,支持分布式环境下 LoadBalanced。
- [优化] 系统默认 emqx 版本变更为 5.8.6
- [升级] minio docker 镜像版本升级至 RELEASE.2025-04-22T22-12-26Z
- [升级] grafana 镜像版本升级至 12.0.2
- 依赖更新
- [升级] alipay-sdk-java 版本升级至 4.40.272.ALL
- [升级] com.baidu.aip 版本升级至 4.16.22
- [升级] hutool 6.X 版本升级至 6.0.0-M22
- [升级] json-schema-validator 版本升级至 1.5.8
- [升级] software.amazon.awssdk 版本升级至 2.31.73
- [升级] software.amazon.awssdk.crt 版本升级至 0.38.5
- [升级] sqlite-jdbc 版本升级至 3.50.2.0
- [升级] sweetalert2 webjars 版本升级至 11.22.2
- [升级] wxjava 版本升级至 4.7.6-20250628.230828
- [升级] hutool 5.X 版本升级至 5.8.39
- [升级] classgraph 版本升级至 4.8.180
- [升级] error_prone_annotations 版本升级至 2.39.0
- [升级] hutool 5.X 版本升级至 5.8.39
- [升级] okio 版本升级至 3.14.0
如果本项目对你有所帮助,欢迎 Star 一波来支持我们!