Eurynome Cloud 2.7.0 预览版发布,庖丁解牛,技经肯綮

Eurynome Cloud 是一款企业级微服务架构和服务能力开发平台。基于Spring Boot 2.6.3、Spring Cloud 2021.0.0、Spring Cloud Alibaba 2021.1、Nacos 2.0.4 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能

平台定位

  • 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方案。
  • 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。
  • 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。
  • 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。

本次更新内容:

  • 重要变更
    • 将现有 Eurynome Cloud 微服务架构,进行了深度的“庖丁解牛”。将完整的微服务架构,根据各个组件的职责以及用途,拆解细化为多个各自独立组件模块,在最大程度上降低代码间的耦合。并将组件模块单独提取为一个独立的工程项目。
    • 已有 Eurynome Cloud 微服务架构,根据新的模块化代码结构,进行了重构。
  • 升级目的
    • 2021年11月8日 Spring 官方已经强烈建议使用 Spring Authorization Server 替换已经过时的 Spring Security OAuth2.0。距离 Spring Security OAuth2.0 结束生命周期还有小半年的时间,所以准备用 Spring Authorization Server 对已有的 Eurynome Cloud 微服务架构进行升级
    • Eurynome Cloud 微服务架构,一直遵循“高内聚、低耦合”的原则,在开发和维护的过程中不断优化已有代码,尽一切可能降低代码的耦合性。但是,毕竟所有的代码都堆积在同一个工程中,代码间的过度依赖和互相耦合还是较为严重。这为 Spring Authorization Server 替换 Spring Security OAuth2.0 带来了较大的阻力和难度。
    • 为了进一步降低代码与代码间、模块与模块间的耦合度,进行了本次版本更新,并衍生了 Herodotus Engine 工程。
    • 同时,本次版本迭代,也是为了后期升级使用 Spring Boot 3.X 和 JDK 17,做先期主备。
  • 新模式特点
    1. 严格遵照“单一职责”原则,进行各个模块的划分和代码拆解。
    2. 严格遵循 Spring Boot 编码规则和命名规则。
    3. 大多数模块均支持 @EnableXXX注解 和 starter,不仅提升了模块使用的便捷性,同时在开发使用过程中,让 Spring Bean 的注入顺序更加可控和便于理解。
    4. 借鉴 Spring Boot 模块化设计思想,通过接口化编程、策略化 Bean 注入 以及丰富的自定义 @ConditionalXXX 注解,让模块的添加和使用更加灵活便捷。
    5. 各模块既可以综合在一起使用,也可以在其它 Spring Boot 工程中独立使用
  • 新模式优势
    1. 虽然模块看似很多,但是每个模块职责单一、代码清晰,更有利于聚焦和定位问题。
    2. 通过对微服务架构的“庖丁解牛”,初学者不再需要在代码的海洋里“遨游”,通过针对性地了解各个模块,以点带面快速掌握微服务架构整体结构。
    3. 模块间的依赖极大的降低,想要替换为 Spring Authorization Server,影响到的代码和范围将会很小。该工程也是使用 Spring Authorization Server 的前序工作
    4. 每个模块均是最小化依赖第三包,规避依赖包过度依赖,特别是 starter 过多依赖,导致不可预知、难以调试、不好修改等问题。
    5. 降低微服务系统代码量,独立组件可提前编译并上传至Maven仓库,降低工程代码编译耗时,改进 CICD 效率。
  • 尝鲜注意事项
    1. 建议新建目录、单独检出 Eurynome Cloud 2.7.0 分支代码,以防对现有代码产生影响。
    2. 独立出的各个模块,已经同步至 Maven 中央仓库,检出 Eurynome Cloud 2.7.0 分支代码既可以直接使用。当然,也可以先检出 Herodotus Engine 工程,编译后再进行 Eurynome Cloud 项目的使用。
    3. 想要研究、学习、了解已有的模块代码,可以访问 Herodotus Engine 代码库,地址:[https://gitee.com/herodotus/herodotus-engine](https://gitee.com/herodotus/herodotus-engine)
    4. 如果之前已经使用、部署过 Eurynome Cloud 微服务系统,那么尝鲜使用 2.7.0.Beta1 版,无须修改和变更数据库。但是需要更新 Nacos 配置,具体变化可自行详细对比工程中Nacos 配置文件。前端工程无须做任何修改,即可使用该版本后端系统。
    5. Herodotus Engine 是独立的、可编译的、组件库式的工程,具体使用需要在其它 Spring Boot 工程中引入相关的组件模块。

友情提示:

本次代码发布,为尝鲜预览版,请结合自己的实际需求,谨慎选择使用!

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/182322/eurynome-cloud-2-7-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。