Eurynome Cloud 是一款企業級微服務架構和服務能力開發平臺。基於Spring Boot 2.6.2、Spring Cloud 2021.0.0、Spring Cloud Alibaba 2021.1、Nacos 2.0.3 等最新版本開發,遵循SpringBoot程式設計思想,高度模組化和可設定化。具備服務發現、設定、熔斷、限流、降級、監控、多級快取、分散式事務、工作流等功能
平臺定位
- 構建成熟的、完善的、全面的,基於 OAuth2 的、前後端分離的微服務架構解決方案。
- 面向企業級應用和網際網路應用設計開發,既兼顧傳統專案的微服務化,又滿足網際網路應用開發建設、快速迭代的使用需求。
- 平臺架構使用微服務領域及周邊相關的各類新興技術或主流技術進行建設,是幫助快速跨越架構技術選型、研究探索階段的利器。
- 程式碼簡潔規範、結構合理清晰,是新技術開發應用的典型的、綜合性案例,助力開發人員對新興技術的學習和掌握。
[2]、本次更新內容
- 升級 bcprov-jdk15on 版本,修復安全漏洞 CVE-2020-28052,解決 bcprov-jdk15on 在工程中存在多個版本重複的依賴包問題。
- 優化平臺新服務建立 Maven Archetype,解決 .gitignore 被過濾不會拷貝的問題。
- 增加 Maven 管理程式碼包,可通過程式碼或介面操作實現新服務的建立
[2]、總體架構
[3]、特色功能演示
(1)方法級可設定動態許可權
(2)組合式、可客製化圖形驗證碼
[4]、技術棧和版本說明
(1)Spring全家桶及核心技術版本
元件 | 版本 |
Spring Boot | 2.6.2 |
Spring Cloud | 2021.0.0 |
Spring Cloud Alibaba | 2021.1 |
Spring Boot Admin | 2.5.5 |
Nacos | 2.0.3 |
Sentinel | 1.8.2 |
Seata | 1,.3.0 |
(2)所涉及的相關的技術
- 持久層框架: Spring Data Jpa & Mybatis Plus
- API閘道器:Spring Cloud Gateway
- 服務註冊&發現和設定中心: Alibaba Nacos
- 服務消費:Spring Cloud OpenFeign & RestTemplate & OkHttps
- 負載均衡:Spring Cloud Loadbalancer
- 服務熔斷&降級&限流:Alibaba Sentinel
- 服務監控:Spring Boot Admin
- 訊息佇列:使用Spring Cloud訊息匯流排Spring Cloud Bus 預設Kafka 適配RabbitMQ
- 鏈路跟蹤:Skywalking
- 分散式事務:Seata
- 資料快取:JetCache + Redis + Caffeine, 自定義多級快取
- 資料庫: Postgresql,MySQL,Oracle ...
- JSON序列化:Jackson & FastJson
- 檔案服務:阿里雲OSS/Minio
- 資料偵錯:p6spy
- 紀錄檔中心:ELK
- 紀錄檔收集:Logstash Logback Encoder
[5]、工程結構
eurynome-cloud
├── configurations -- 組態檔指令碼和統一Docker build上下文目錄
├── dependencies -- 工程Maven頂級依賴,統一控制版本和依賴
├── packages -- 基礎通用依賴包
├ ├── eurynome-cloud-assistant -- Spring相關公共輔助工具、註解相關工具程式碼元件
├ ├── eurynome-cloud-cache -- Cache和Redis工具模組元件
├ ├── eurynome-cloud-captcha -- 驗證碼模組元件
├ ├── eurynome-cloud-data -- 資料持久化等資料處理相關程式碼元件
├ ├── eurynome-cloud-kernel -- 微服務接入平臺必備元件
├ ├── eurynome-cloud-message -- 訊息處理相關程式碼元件
├ ├── eurynome-cloud-oauth -- OAuth2通用程式碼
├ ├── eurynome-cloud-oauth-starter -- 自定義OAuth2 Starter,Athena單體版核心Starter
├ ├── eurynome-cloud-rest -- Rest相關程式碼元件
├ ├── eurynome-cloud-sercurity -- Security通用程式碼
├ ├── eurynome-cloud-starter -- 微服務核心Starter
├ ├── eurynome-cloud-web -- Web 應用基礎元件
├ └── eurynome-cloud-websocket -- WebSocket核心程式碼包
├── platform -- 平臺核心服務
├ ├── eurynome-cloud-gateway -- 服務閘道器
├ ├── eurynome-cloud-monitor -- Spring Boot Admin 監控服務
├ └── eurynome-cloud-uaa -- 統一認證模組
├── services -- 平臺業務服務
├ ├── eurynome-cloud-upms-logic -- 通用使用者許可權service
├ ├── eurynome-cloud-upms-rest -- 通用使用者許可權rest 介面
├ ├── eurynome-cloud-upms-ability -- 通用使用者許可權服務
├ ├── eurynome-cloud-upms-rest -- 工作流基礎程式碼包
└── └── eurynome-cloud-bpmn-ability -- 工作流服務