[一] 项目简介
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 | grpc-spring-boot-starter |
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】留言。
[六] 更新内容
- 主要更新
- [新增] 前端框架 OAuth2 客户端授权模式及设备授权模式通用操作 API 大幅优化
- [优化] 去除早期版本中为了消除 CVE 而增加的 xnio 依赖版本控制配置,改为使用依赖组件传递版本
- [优化] 优化 ip2region 数据查询代码,更新 IP 地址库
- [优化] 系统以支持 Redis 8.2.0 版本,
- 其它更新
- [新增] 前端框架模块新增 OAuth2 客户端授权模式及设备授权模式通用操作 API
- [新增] 前端框架模块新增设备码授权模式获取 Access Token 轮询验证 API
- [新增] 前端新增 OAuth2 协议内置 Scope 枚举定义
- [新增] 前端框架模块新增 OIDC 客户端动态注册 API
- [重构] 重构前端 OAuth2 各认证模式 API,提取通用代码方便代码维护
- [重构] 重构前端 Axios 自定义封装 API 定义,方便更好的理解及使用代码
- [重构] 迁移前端 useApplicationStore 相关内容代码至模块 @herodotus-cloud/framework-kernel
- [修复] 调整 lettuce 配置参数,修复 lettuce 链接 redis 偶发 io.lettuce.core.RedisCommandTimeoutException: Command timed out after 200 millisecond(s) 错误问题。
- [修复] 修复动态开启认证时,OAuth2 客户端信息密码丢失问题。
- [优化] 优化前端 OAuth2 各认证模式 API,调整参数顺序和默认值,提升 API 合理性
- [优化] 优化动态开启和关闭认证日志,增加统一标识方便代码跟踪和日志分析
- [升级] grafana docker 镜像版本升级至 12.2.0-16636675413
- [升级] loki docker 镜像版本升级至 3.5.3
- [升级] promtail docker 镜像版本升级至 3.5.3
- [升级] node-red docker 镜像版本升级至 3.5.3
- [升级] clickhouse docker 镜像版本升级至 25.6.6
- [升级] kestra docker 镜像版本升级至 v0.23.9
- 依赖更新
- [升级] alipay-sdk-java 版本升级至 4.40.382.ALL
- [升级] mysql 版本升级至 9.4.0
- [升级] software.amazon.awssdk 版本升级至 2.32.18
- [升级] software.amazon.awssdk.crt 版本升级至 0.38.8
- [升级] sweetalert2 webjars 版本升级至 11.22.3
- [升级] wxjava 版本升级至 4.7.7-20250808.182223
- [升级] webauthn4j 版本升级至 0.29.5.RELEASE
如果本项目对你有所帮助,欢迎 Star 一波来支持我们!
- Gitee:https://gitee.com/dromara/dante-cloud
- Github:https://github.com/dromara/dante-cloud
- Gitcode:https://gitcode.com/dromara/dante-cloud
还没有评论,来说两句吧...