Dante Cloud 一款企业级微服务架构和服务能力开发平台,是采用领域驱动模型(DDD)设计思想的、全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的微服务架构。基于Spring Authorization Server 0.4.3、Spring Boot 2.7.13、Spring Cloud 2021.0.8、Spring Cloud Alibaba 2021.0.5.0、Nacos 2.2.4 等最新版本开发的多租户系统,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能
平台定位
构建成熟的、完善的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。
[1]、为什么更名为 Dante Cloud
Dante Cloud
(但丁),原项目名称 Eurynome Cloud,很多朋友都反映名字太长、读起来拗口、不容易记等问题。因此在加入 Dromara 开源社区之际,将名字进行了变更。
Dante,即但丁·阿利基耶里(公元1265年-公元1321年),13世纪末意大利诗人,现代意大利语的奠基者,欧洲文艺复兴时代的开拓人物之一,以长诗《神曲》(原名《喜剧》)而闻名,后来一位作家叫薄伽丘将其命名为神圣的喜剧。
他被认为是中古时期意大利文艺复兴中最伟大的诗人,也是西方最杰出的诗人之一,最伟大的作家之一。恩格斯评价说:“封建的中世纪的终结和现代资本主义纪元的开端,是以一位大人物为标志的,这位人物就是意大利人但丁,他是中世纪的最后一位诗人,同时又是新时代的最初一位诗人”
更名为 Dante Cloud,寓意本项目会像恩格斯对但丁的评价一样,在行业变革的时期,可以成为一款承上启下,助力企业信息化建设变革的产品。
[2]、版本说明
自11月24日,Spring Boot 3.0 以及 Spring Cloud 2022.0.0 等全新版本发布,整个Java 社区也步入的 Java 17 和 Spring Boot 3 的新时代。紧跟 Java 技术和 Spring 社区的发展,让更多质量更好、性能更优的新特性服务于实际的开发工作,Dante Cloud 也同步进行升级及适配,开发了基于 Spring Authorization Server 1.1.1、Spring Boot 3.1.1、Spring Cloud 2022.0.3、Spring Cloud Alibaba 2022.0.0.0-RC2、Spring Cloud Tencent 1.11.7-2022.0.1、Nacos 2.2.4 全新 Dante Cloud 版本。关注请移步 master 分支
[3]、本次更新内容
- 【主要更新】
- [升级] Spring Boot 版本升级至 2.7.13
- [升级] Spring Cloud 版本升级至 2021.0.8
- [升级] spring-security-oauth2-authorization-server 版本升级至 0.4.3
- [升级] nacos 版本升级至 2.2.4
- [升级] Debezimu 版本升级至 2.3
- 【依赖更新】
- [升级] guava 版本升级至 32.1.0-jre
- [升级] bcprov-jdk15to18 版本升级至 1.75
- [升级] minio 版本升级至 8.5.4
- [升级] wxjava 版本升级至 4.5.1.B
- [升级] tencentcloud-sdk-java-sms 版本升级至 3.1.787
- [升级] alipay-sdk-java 版本升级至 4.35.171.ALL
- [升级] aliyun-sdk-oss 版本升级至 3.17.0
- [升级] hutool 版本升级至 5.8.20
- [升级] docker-maven-plugin 版本升级至 0.43.0
- [升级] commons-io 版本升级至 2.13.0
- [升级] guava 版本升级至 32.0.1-jre
- [升级] redisson 版本升级至 3.22.1
- [升级] logstash-logback-encoder 版本升级至 7.4
- [升级] skywalking 版本升级至 8.16.0
- [升级] minio 版本升级至 8.5.3
- [升级] fastjson2 版本升级至 2.0.34
- [升级] qiniu-java-sdk 版本升级至 7.13.1
- [升级] aliyun-sdk-oss 版本升级至 3.16.3
- [升级] jackson 版本升级至 2.15.2
[4]、Dante Cloud 2.7.X 特点
一、前端
- 未使用任何流行开源模版,使用全新技术栈,完全纯"手写"全新前端工程。
- 借鉴参考流行开源版本的使用和设计,新版前端界面风格和操作习惯尽量与当前流行方式统一。
- 充份使用 Typescript 语言特性,解决大量类型校验问题,尽可能规避 "any" 式的 Typescript 编程语言使用方式。
- 充份使用 Composition Api 和 Hooks 等 Vue3 框架新版特性进行代码编写。
- 充份利用 Component、Hooks 以及 Typescript 面向对象等特性,抽取通用组件和代码,尽可能降低工程重复代码。
- 对较多 Quasar 基础组件和应用功能组件进行封装,以方便代码的统一修改维护和开发使用。
- 对生产模式下,对基于 Vite3 的工程打包进行深度性能优化。
- 提供以 docker-compose 方式,对工程生产代码进行容器化打包和部署。
- 支持密码模式、授权码模式、手机短信模式、第三方社会化等多种登录模式。
二、后端
基于 Spring Authorization Server 深度定制和扩展:
基于 Spring Authorization Server 和 Spring Data JPA 实现多租户系统架构,支持 Database 和 Schema 两种模式。 基于 Spring Data JPA,重新构建 Spring Authorization Server 基础数据存储代码,替代原有 JDBC 数据访问方式,破除 Spring Authorization Server 原有数据存储局限,扩展为更符合实际应用的方式和设计。 基于 Spring Authorization Server,在 OAuth 2.1 规范基础之上,增加自定义 Resource Ownership Password (密码)认证模式,以兼容现有基于 OAuth 2 规范的、前后端分离的应用,支持 Refresh Token 的使用。 基于 Spring Authorization Server,在 OAuth 2.1 规范基础之上,增加自定义 Social Credentials (社会化登录)认证模式,支持手机短信验证码、微信小程序、基于JustAuth的第三方应用登录,支持 Refresh Token 的使用。 扩展 Spring Authorization Server 默认的 Client Credentials 模式,实现 Client Credentials 模式支持 Refresh Token 的使用。 扩展 Spring Authorization Server 默认的 Client Credentials 模式,实现真正的使用 Scope 权限对接口进行验证。 增加客户端 Scope 的权限配置功能,并与已有的用户权限体系解耦 支持 Spring Authorization Server Authorization Code PKCE 认证模式 支持 Spring Authorization Server 的标准的 JWT Token 加密校验方式外,新增基于自定义证书的 JWT Token 加密校验方式,可通过配置动态修改。 支持 Opaque Token (不透明令牌) 格式及校验方式,将低 JWT Token 被捕获解析的风险。可通过修改配置参数,设置默认Token 格式是采用 Opaque Token 格式还是 JWT Token 格式。 全面支持 OpenID Connect (OIDC) 协议, 系统使用时可根据使用需求,通过前端开关配置,快速切换 OIDC 模式和传统 OAuth2 模式 深度扩展 Authorization Code、Resource Ownership Password、Social Credentials 几种模式,全面融合 IdToken、Opaque Token、JWT Token 与现有权限体系,同时提供 IdToken 和 自定义Token 扩展两种无须二次请求的用户信息传递方式,减少用户信息的频繁请求。 自定义 Spring Authorization Server 授权码模式登录认证页面和授权确认页面,授权码模式登录采用数据加密传输。支持多种验证码类型,暂不支持行为验证码。 https://dromara.org 是 Dromara 开源社区官方网站。
[5]、界面预览
Dromara 开源社区
一、社区愿景
让每一位开源爱好者,体会到开源的快乐
二、社区官网
三、成员项目