前言

码匠君 ... 2021-10-28 大约 3 分钟

# 前言

# 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 ServerSpring SecurityOAuth2的后台管理脚手架,还是构建基于 Spring Cloud 的分布式微服务架构,Spring Authorization ServerSpring SecurityOAuth2核心代码的应用方式都是不变的,可以是通用的,因此将Spring Authorization ServerSpring SecurityOAuth2以及其它通用的代码放在 Dante Cloud 中,编译后供 Dante Cloud Athena 使用。

# 为什么构建 Athena?

基于Spring CloudSpring Cloud Alibaba的微服务架构,已经成为应用建设的主流方案。但是不可否认的是,搭建一套微服务架构所需的基础架构越来越多,也越来越复杂,所需的配套资源也越来越大。仅仅是在开发电脑上搭建一套运行开发调试环境,其复杂度和所需的资源也不容小觑。而很多应用,特别是小型应用,在早期开发中或者用户量不大的前期完全没有必要上一整套微服务,额外增加复杂度。很多情况下一套单体的,前后端分离的后台就足以满足。

因为以上的考虑,才构建的 Dante Cloud Athena。其实只要Spring Authorization ServerSpring SecurityOAuth2核心代码写的足够通用,单体式架构就自然而然的产生了。

Dante Cloud Athena 不需要搭建NacosELKSentinelSkywalking等基础设施,只要一个数据库就可以独立运行,而且具备微服务架构除服务管理以外的所有功能。不仅编译和运行速度有几倍的提升,而且只要代码规范,分包合理,可以快速无缝迁移到微服务架构。这有助于在项目早期快速建设项目,方便开发人员在本地进行开发以及技术研究。

如果你没有大量的时间和资源搭建微服务架构,那么就可以尝试使用 Dante Cloud Athena,可以从另一个角度快速,全面地了解 Dante Cloud

上次编辑于: 2022年9月16日 09:44
贡献者: 码匠君 , herodotus