首页 文章 精选 留言 我的

精选列表

搜索[安装],共10000篇文章
优秀的个人博客,低调大师

Dante Cloud 3.2.5.1 发布,系统部署再也不用安装两种数据库啦!

Dante Cloud (但丁,原 Eurynome Cloud) 是一款企业级微服务架构和服务能力开发平台,是采用领域驱动模型(DDD)设计思想的、全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的、支持智能电视、IoT等物联网设备认证的微服务架构。基于 Spring Authorization Server 1.2.4、Spring Boot 3.2.5、Spring Cloud 2023.0.1、Spring Cloud Tencent 1.14.0-2023.0.0、Spring Cloud Alibaba 2023.0.1.0、Nacos 2.3.2 等主流技术栈开发的多租户系统,遵循 SpringBoot 编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能。 定位 构建成熟的、完善的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。 背景 这也是为什么做 Dante Cloud 的初衷: 一方面是以 Dante Cloud 为载体,潜移默化地将过往项目建设的经验教训融入其中,尽可能地帮助使用者规避或者减少无效工作,提升工作效率和质量,有跟多的时间做更有意义的事情; 另一方面不断地融合和使用各类新兴技术,帮助使用者尽可能多的了解、学习和运用新技术,让技术不再成为禁锢变为进步和提升的基石。 这也是为什么 Dante Cloud 与其它项目不同: Dante Cloud 并不过分强调常规应用功能的堆叠与丰富化,因为作者认为纯开发工作仅占整个项目建设投入的 20%,减少开发投入、提升开发效率未必就能减少整个项目建设周期剩余80%工作投入。Dante Cloud 的远景目标是可以帮助使用者缩短整个项目的建设周期和减少无意义的工作投入,而不仅仅只是在开发效率方面的提升。 Dante Cloud 一直秉承“简洁、高效、包容、务实”的理念,不会采取任何额外的手段来获取更多的 Star,绝对真实就像其产品一样。如果你认可和喜欢 Dante Cloud,请不要吝啬你的赞美,项目右上角点颗小星星。 [1] 软件信息 软件组成 核心组件:https://gitee.com/herodotus/dante-engine(已上传中央库) 后端工程:https://gitee.com/dromara/dante-cloud 前端工程:https://gitee.com/herodotus/dante-cloud-ui 软件生态 DanteCloudAthena(DanteCloud单体版):https://gitee.com/herodotus/dante-cloud-athena DanteOSS (像JPA一样操作OSS):https://gitee.com/herodotus/dante-oss 软件文档 官方文档:https://www.herodotus.cn 技术手册: 《Dante Cloud 及相关知识学习方法和学习路径的建议》 《OAuth 2 中的 Scope 与 Role 深度解析》 《Spring Boot 3 之自动配置与注入顺序控制》 《Spring Cloud 之 Session 共享及一致性处理》 《OAuth 2 中的鉴权和动态接口鉴权》 《Spring Boot 3 之 Rest 接口传参方式详解》 更多详情参见:https://www.herodotus.cn/cookbook/ [2]分支说明 分支名称 对应 Spring 生态版本 对应 JDK 版本 用途 现状 master Spring Boot 3.2 和 Spring Cloud 2023.0.0 JDK 17 主要发布分支 可使用,但 Spring Cloud Alibaba、Tencent 等生态组件尚未发布正式版本 develop Spring Boot 3.2 和 Spring Cloud 2023.0.0 JDK 17 Development 分支 新功能、ISSUE 均以此分支作为开发,发布后会 PR 至 master 分支。开发分支不保证可用 reactive-develop Spring Boot 3.2 和 Spring Cloud 2023.0.0 JDK 21 响应式 Development 分支 下一代响应式微服务版本开发分支。开发分支不保证可用 3.1.X Spring Boot 3.1 和 Spring Cloud 2022.0.X JDK 17 Stable 代码分支 稳定可用版本分支,2024 年 5 月,Spring Boot 3.3 发布后将会停止维护 2.7.X Spring Boot 2.7 和 Spring Cloud 2021.0.X JDK 8 历史代码分支 基于 Spring Boot 2.7 时代开发的代码分支,不再维护 spring-security-oauth2 Spring Boot 2.6 和 Spring Cloud 2021.0.X JDK 8 历史代码分支 基于原 Spring Security OAuth2 实现的微服务,因相关组件均不在维护,所以该版本不再维护 [3] Postgresql Nacos Docker Dante Cloud自开源以来一直支持多数据的切换。对于使用MySQL的朋友来说,不存在部署多个数据库的问题。但是,对于使用 其它数据库(比如:Postgresql)的朋友来说,部署DanteCloud就需要部署两种数据库,因为Nacos默认只支持MySQL。虽然,自Nacos 2.2.0版本开始,Nacos已经支持以插件的方式扩展数据库存储类型,但是官方Nacos的Docker还是只支持MySQL。 所以,为了方便用户的使用,DanteCloud基于Nacos官方Postgresql数据库插件和官方代码,重新构建打包了支持Postgresql数据库的NacosDocker镜像 herodotus/nacos-server,并已经上传至DockerHub。 想要使用herodotus/nacos-server也非常简单,对现有DockerCompose进行简单修改即可,当然欢迎关注DanteCloud: 将镜像名称修改为:herodotus/nacos-server:xxx 修改 DockerCompose 环境变量 参考DockerCompose脚本如下: ```yaml services: nacos: image: herodotus/nacos-server:v2.3.2 container_name: nacos environment: MODE: standalone # SPRING_DATASOURCE_PLATFORM: mysql # MYSQL_SERVICE_HOST: 192.168.101.10 # MYSQL_SERVICE_PORT: 13306 # MYSQL_SERVICE_USER: nacos # MYSQL_SERVICE_PASSWORD: nacos # MYSQL_SERVICE_DB_NAME: nacos # MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8 SPRING_DATASOURCE_PLATFORM: postgresql POSTGRESQL_SERVICE_HOST: 192.168.101.10 POSTGRESQL_SERVICE_PORT: 15432 POSTGRESQL_SERVICE_USER: nacos POSTGRESQL_SERVICE_PASSWORD: nacos POSTGRESQL_SERVICE_DB_NAME: nacos POSTGRESQL_SERVICE_DB_PARAM: tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos NACOS_AUTH_IDENTITY_KEY: serverIdentity NACOS_AUTH_IDENTITY_VALUE: security NACOS_AUTH_TOKEN: SecretKey012345678901234567890123456789012345678901234567890123456789 volumes: - D:\\local-cached\\docker-volumes\\nacos\\datas:/home/nacos/data ports: - "8848:8848" - "9848:9848" - "9849:9849" ``` 注意:该版本NacosDocker镜像仅支持Postgresql,不支持的多数据库的切换。如需使用MySQL版本,直接使用官方镜像即可。 [4] 本次更新内容 【主要更新】 [升级] Spring Boot 版本升级至 3.2.5 [升级] Spring Authorization Sever 版本升级至 1.2.4 [升级] Spring Cloud Alibaba 版本升级至 2023.0.1.0 [升级] Debezium 版本升级至 2.6 [发布] 发布基于 Nacos 2.3.2、使用 Postgresql 数据库作为存储、支持amd、arm 等多CPU架构的 Herodotus Nacos Server Docker 镜像已发布至 Docker Hub。 [发布] 基于 Dante 最新代码重新打包,herodotus/ sentinel-dashboard 镜像。优化打包方式,新增 amd、arm 等多种 CPU 架构支持。 [优化] 所有 Docker Compose 脚本去除顶部 `version` 标签(注意:使用该版本 Docker Compose 版本需要使用 1.27+) 【其它更新】 [修复] 修复 Docker Compose 文件运行出现 `version` is obsolete" 问题 fix: #I9IQDG [修复] 修复前端组件库编译出现 Error: Cannot find module @rollup/rollup-win32-x64-msvc. 错误 fix: #I9IYT3 [修复] 当前的CRUD模式局限于从列表页发起编辑详情页,不能从左侧菜单或其它链接入口发起问题 (感谢 James7 PR) [修复] 面包屑中间节点对应左侧菜单目录节点,删除链接避免与左侧展开动作逻辑不一致问题(感谢 James7 PR) [新增] 添加了审批流程和任务流程空页面,搭配前端修复后端加载的Workbench路由,保障保障菜单与标签页整体界面交互逻辑完整展示(感谢 James7 PR) [升级] minio docker 镜像版本升级至 RELEASE.2024-04-18T19-09-19Z 【依赖更新】 [升级] maven-gpg-plugin 版本升级至 3.2.4 [升级] redisson 版本升级至 3.29.0 [升级] aws-java-sdk-s3 版本升级至 1.12.708 [升级] sms4j-spring-boot-starter 3.2.1 [升级] vue webjars 版本升级至 3.4.23 [升级] alipay-sdk-java 版本升级至 4.39.52.ALL [升级] xnio 版本升级至 3.8.14.Final [升级] maven-gpg-plugin 版本升级至 3.2.3 [升级] commons-io 版本升级至 2.16.1 [升级] fastjson2 版本升级至 2.0.49 [升级] quasar webjars 版本升级至 2.15.3 [升级] commons-text 版本升级至 1.12.0 [升级] maven-source-plugin 版本升级至 3.3.1 [升级] bcprov-jdk18on 版本升级至 1.78.1 [升级] bcpkix-jdk18on 版本升级至 1.78.1 [升级] sqlite-jdbc 版本升级至 3.45.3.0 [5] Dante Cloud 特性 1. 核心基础依赖便捷切换 新增 Spring Cloud Tencent 和 Spring Cloud 原生微服务全家桶等两种基础设施支持。 新增 Spring Cloud Alibaba、Spring Cloud Tencent 和 Spring Cloud 原生微服务全家桶三种基础设值切换能力,可以以相对便捷的方式切换使用 Alibaba、Tencent、Spring 等基础设施环境。可根据自身实际需求选择,不再局限于只能在某一种基础设施环境中运行。 2. 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 模式,实现真正的使用 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 授权码模式登录认证页面和授权确认页面,授权码模式登录采用数据加密传输。支持多种验证码类型,暂不支持行为验证码。 新增基于 Spring Authorization Server 的、支持智能电视、IoT等物联网设备认证模式 无须在代码中配置 Spring Security 权限注解以及权限方法,即可实现接口鉴权以及权限的动态修改。采用分布式鉴权方案,规避 Gateway 统一鉴权的压力以及重复鉴权问题 OAuth2 UserDetails 核心数据支持直连数据库获取和 Feign 远程调用两种模式。OAuth2 直连数据库模式性能更优,Feign 访问远程调用可扩展性更强。可通过配置动态修改采用策略方式。 3. 全体系化应用特性集成 微服务架构全体系 Session 共享,实现 Spring Authorization Server、多实例服务、WebSocket、自定义 Session 以及大前端 Session 的统一。微服务架构下的 Session 可以选择不用,但是不能没有。 混合国密 SM2 (非对称) 和 SM4 (对称加密) 算法,实现基于数字信封技术的秘钥动态生成加密传输。利用“一人一码机制”,实现前后端数据进行动态加密传输与。Spring Authorization Server OAuth 2.1 授权模式深度融合,构建统一体系的数据传输加密。 全面整合 @PreAuthorize 注解权限与 URL 权限,通过后端动态配置,无须在代码中配置 Spring Security 权限注解以及权限方法,可实现接口鉴权以及权限的统一管理和动态修改 融合 Spring Cloud Stream 和 WebSocket,以优雅的方式实现 WebSocket 服务多实例环境下,点对点、广播消息跨实例推送,在线用户实时统计,完美支持 WebSocket 集群化应用。 借鉴 JPA 标准化设计思想,提取和抽象 OSS 标准化操作,形成统一的 Java OSS API 规范。封装可操作任意厂商的、统一的 REST API,构建定义统一、动态实现的应用模式(类似于 Hibernate 是 JPA 的一种实现,Hibernate 以 Dialect 方式支持不同的数据库一样),在不修改代码的情况下通过修改配置实现 OSS 的无缝切换和迁移 自研基于 JetCache 分布式两级缓存,完美实现 JPA Hibernate 二级缓存,支持各类查询数据缓存以及 JPA @ManyToMany, @ManyToOne等关联查询。完美解决 Spring Cache 仅使用本地缓存、创建 Key 繁琐和分页数据无法更新的问题。支持多实例服务本地缓存和远程缓存数据同步,同时支持 Mybatis Plus 二级缓存 平台统一错误处理,支持自定义错误码体系,有效集成 OAuth2、Spring Validation 等多方错误体系并有机整合 HTTP 状态码。采用 Customizer 模式,采用错误码自动计算和创建模式,支持代码模块级错误码灵活定义扩展。响应结果更加多样灵活,反馈结果也更加人性化,便于理解和定位问题。 全体系 OkHttp 、HttpClient 统一化集成,实现 OkHttp 、HttpClient 与 RestTemplate 、Openfeign 一体化融合。统一使用 Feign 配置参数,对 OkHttp 、HttpClient 进行参数设定,可策略化选择设置使用 OkHttp 或 HttpClient 作为 RestTemplate 、Openfeign 统一的基础 HttpClient 4. 采用 pnpm monorepo 重构前端 未使用任何流行开源模版,使用全新技术栈,完全纯"手写"全新前端工程。 借鉴参考流行开源版本的使用和设计,新版前端界面风格和操作习惯尽量与当前流行方式统一。 充份使用 Typescript 语言特性,解决大量类型校验问题,尽可能规避 "any" 式的 Typescript 编程语言使用方式。 充份使用 Composition Api 和 Hooks 等 Vue3 框架新版特性进行代码编写。 充份利用 Component、Hooks 以及 Typescript 面向对象等特性,抽取通用组件和代码,尽可能降低工程重复代码。 对较多 Quasar 基础组件和应用功能组件进行封装,以方便代码的统一修改维护和开发使用。 对生产模式下,对基于 Vite3 的工程打包进行深度性能优化。 提供以 docker-compose 方式,对工程生产代码进行容器化打包和部署。 该版本基于 pnpm,采用 monorepo 模式对前端工程进行重构。构建 monorepo 版本前端,是为扩展更多功能、增加应用级功能做铺垫 抽取 utils、components、apis、bpmn-designer 等相关代码,形成共享模块。 共享模块已进行优化配置,可编译成独立的组件,单独以组件形式进行发布。 代码以共享模块的方式进行单独维护开发,降低现有工程代码复杂度,便于后续功能的扩展和代码的复用。 欢迎 Star 一波来支持我们! Gitee:https://gitee.com/dromara/dante-cloud Github:https://github.com/dromara/dante-cloud

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册