项目介绍
Athena 是什么?
- Dante Cloud Athena 是从 Dante Cloud 中提取出来的,可以独立运行的,基于 Spring Authorization Server 的,前后端分离的、单体式多租户后台管理脚手架。
- Dante Cloud Athena 本质上就是 Dante Cloud 工程中
authentication-spring-boot-starter
模块的应用。从 pom 中可以看到 Dante Cloud Athen 工程核心依赖就是 Dante Cloud 中的authentication-spring-boot-starter
。 - Dante Cloud Athena 更多的是一个演示性工程,用来示例如何使用
authentication-spring-boot-starter
,以及相关的配置参数是如何配置的。也可以完全不用照搬 Athena 工程,自己新建一个Spring Boot
工程,添加authentication-spring-boot-starter
依赖和相应的配置也可以使用。
Athena 不是什么?
Dante Cloud Athena 并不是一个完整的开源项目,其核心代码authentication-spring-boot-starter
,需要通过编译 Dante Cloud 生成(目前 Dante Cloud 核心包并没有提交至 Maven 中央仓库)。
为什么 Athena 和 Dante Cloud 共享代码?
不管是单独搭建基于Spring Authorization Server
、Spring Security
和OAuth2
的后台管理脚手架,还是构建基于 Spring Cloud 的分布式微服务架构,Spring Authorization Server
、Spring Security
和OAuth2
核心代码的应用方式都是不变的,可以是通用的,因此将Spring Authorization Server
、Spring Security
和OAuth2
以及其它通用的代码放在 Dante Cloud 中,编译后供 Dante Cloud Athena 使用。
为什么构建 Athena?
基于Spring Cloud
和Spring Cloud Alibaba
的微服务架构,已经成为应用建设的主流方案。但是不可否认的是,搭建一套微服务架构所需的基础架构越来越多,也越来越复杂,所需的配套资源也越来越大。仅仅是在开发电脑上搭建一套运行开发调试环境,其复杂度和所需的资源也不容小觑。而很多应用,特别是小型应用,在早期开发中或者用户量不大的前期完全没有必要上一整套微服务,额外增加复杂度。很多情况下一套单体的,前后端分离的后台就足以满足。
因为以上的考虑,才构建的 Dante Cloud Athena。其实只要Spring Authorization Server
、Spring Security
和OAuth2
核心代码写的足够通用,单体式架构就自然而然的产生了。
Dante Cloud Athena 不需要搭建Nacos
,ELK
,Sentinel
,Skywalking
等基础设施,只要一个数据库就可以独立运行,而且具备微服务架构除服务管理以外的所有功能。不仅编译和运行速度有几倍的提升,而且只要代码规范,分包合理,可以快速无缝迁移到微服务架构。这有助于在项目早期快速建设项目,方便开发人员在本地进行开发以及技术研究。
如果你没有大量的时间和资源搭建微服务架构,那么就可以尝试使用 Dante Cloud Athena,可以从另一个角度快速,全面地了解 Dante Cloud。