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