网站首页 > 技术文章 正文
Eurynome Cloud是一款企业级技术中台微服务架构与服务能力开发平台。基于SpringBoot2.4.6、Spring Cloud 2020.0.2、Spring Cloud Alibaba 2021.1、Nacos 2.0.1等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能,代码简洁,架构清晰,非常适合学习和企业作为基础框架使用。
1、功能介绍
特点:
- 优化的代码分包和包依赖,代码包职责明确,规避无意义的依赖以及重复依赖,对基础依赖组件进行高度封装,降低IDE索引时间,提升开发效率
- 遵循微服开发模式,强化整体的可配置性,依赖功能均可以通过@EnableXXX开启,支持策略化的注入改变部分核心代码的实现逻辑。提供的starter,开箱即用,可零配置创建服务,快速进行开发
- 基于JetCache自研缓存拓展,支持分页和条件查询缓存动态更新
- 拓展OAuth2默认登录,支持多种验证码和登录数据加密传输,可通过配置进行自定义设置。
- 多数据库支持,默认采用Postgresql数据库,同时支持Spring Data Jpa 和Mybatis
- 多种消息队列支持,适配RabbitMQ和Kafka,默认使用Kafka,支持消息总线(Spring Cloud Bus)
- Rest接口自动化扫描生成权限数据,支持扫描包和扫描注解动态配置
- 采用Camunda实现工作流服务,支持在线编辑
- 同时支持分布式和单体式两种架构,基于单体式架构可快速搭建基于OAuth2的前后端分离应用
- 共享式、统一化多环境配置模式,Yml、Docker均采用此方式配置,避免同类配置多出修改的问题
2、技术栈和版本说明
(1)Spring全家桶及核心技术版本
- Spring Boot 2.4.5
- Spring Cloud 2020.0.2
- Spring Cloud Alibaba 2021.1
- Spring Boot Admin 2.4.1
- Nacos 2.0.1
- Sentinel 1.8.0
- Seata 1.3.0
(2)所涉及的相关的技术:
- JSON序列化:Jackson & FastJson
- 消息队列:Kafka 适配RabbitMQ,支持消息总线(Spring Cloud Bus)
- 数据缓存:JetCache + Redis (两级缓存)
- 数据库: Postgresql,MySQL,Oracle ...
- 前端实现:Vue + Vuetify(单体版Vue + Vuetify + Typescript + 模块化)
- 持久层框架: Spring Data Jpa & Mybatis
- API网关:Gateway
- 服务注册&发现和配置中心: Nacos
- 服务消费:OpenFeign & RestTemplate & OkHttp3
- 负载均衡:Ribbon
- 服务熔断&降级&限流:Sentinel
- 项目构建:Maven
- 分布式事务:Seata
- 服务监控:Spring Boot Admin
- 链路跟踪:Skywalking
- 文件服务:阿里云OSS/Minio
- 数据调试:p6spy
- 日志中心:ELK
- 日志收集:Logstash Logback Encoder
3、 版本号说明
系统版本号,分为四段:
- 第一段和第二段,与Spring Boot 版本对应,根据采用的Spring Boot版本变更。例如,当前采用Spring Boot 2.4.5版本,那么就以2.4.X.X开头
- 第三段,表示系统功能的变化
- 第四段,表示系统功能维护及优化情况
4、工程结构
eurynome-cloud
├── configurations -- 配置文件脚本和统一Docker build上下文目录
├── dependencies -- 工程Maven顶级依赖,统一控制版本和依赖
├── documents -- 工程相关文档
├── packages -- 基础通用依赖包
├ ├── eurynome-cloud-common -- 公共工具类
├ ├── eurynome-cloud-data -- 数据持久化、数据缓存以及Redis等数据处理相关代码组件
├ ├── eurynome-cloud-rest -- Rest相关代码组件
├ ├── eurynome-cloud-crud -- CRUD相关代码组件
├ ├── eurynome-cloud-sercurity -- Security通用代码
├ ├── eurynome-cloud-oauth -- OAuth2通用代码
├ ├── eurynome-cloud-message -- 消息队列、BUG相关代码组件
├ ├── eurynome-cloud-kernel -- 微服务接入平台必备组件
├ ├── eurynome-cloud-oauth-starter -- 自定义OAuth2 Starter
├ └── eurynome-cloud-starter -- 微服务核心Starter
├── platform -- 平台核心服务
├ ├── eurynome-cloud-gateway -- 服务网关
├ ├── eurynome-cloud-management -- Spring Boot Admin 监控服务
├ └── eurynome-cloud-uaa -- 统一认证模块
├── services -- 平台业务服务
├ ├── eurynome-cloud-upms-api -- 通用用户权限api
├ ├── eurynome-cloud-upms-logic -- 通用用户权限service
├ ├── eurynome-cloud-upms-rest -- 通用用户权限rest 接口
├ ├── eurynome-cloud-upms-ability -- 通用用户权限服务
└──└── eurynome-cloud-bpmn-ability -- 工作流服务
5、项目地址
- 后端Gitee地址:https://gitee.com/herodotus/eurynome-cloud
- 后端Github地址:https://github.com/herodotus-cloud/eurynome-cloud
- 单体版示例工程:https://gitee.com/herodotus/eurynome-cloud-athena
- 前端Gitee地址:https://gitee.com/herodotus/eurynome-cloud-ui
6、界面预览
猜你喜欢
- 2024-09-08 精讲RestTemplate第7篇-自定义请求失败异常处理
- 2024-09-08 java实现调用http请求的几种常见方式
- 2024-09-08 深度原理学习——白话TCP与HTTP的keep–alive机制
- 2024-09-08 有了WebClient还在用RestTemplate?
- 2024-09-08 Spring Boot外部接口调用:使用RestTemplate与WebClient操控HTTP
- 2024-09-08 Java服务优雅上下线(java项目如何上线)
- 2024-09-08 Spring 框架里的 HTTP 调用,RestTemplate 还是 WebClient
- 2024-09-08 微服务中如何使用RestTemplate优雅调用API(详细分析)
- 2024-09-08 真不是吹,Spring 里这款牛逼的网络工具库你可能没用过
- 2024-09-08 Java工具类封装微服务间HTTP通信(java md5工具类)
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)