[TOC]
# 簡介
>[info] 簡單說明企業微服務平臺maven結構
## 企業微服務平臺maven結構
>[info] 采用單體多模塊的方式構建的maven項目,目錄結構如下:
newocp/
├── doc nacos相關配置文件
├── sql 項目初始化數據庫文件
├── business-center 業務中心
│?? ├── batch-center 基于分區批處理相關技術
│?? ├── codegen-center 代碼生成器相關配置
│?? ├── file-center 基于事件驅動的文件中心
│?? ├── sms-center 短信中心
│?? └── user-center 用戶中心
├── inner-intergration 內部集成二方包
│?? ├── banner-spring-boot-starter 啟動banner設置工具包
│?? ├── base-spring-boot-starter 內部基礎工具包
│?? ├── common-spring-boot-starter 過濾器等工具包
│?? ├── config-spring-boot-starter 通用配置工具包
│?? ├── db-spring-boot-starter 數據庫封裝工具包
│?? ├── flyway-spring-boot-starter flyway版本控制工具包
│?? ├── jpush-spring-boot-starter 極光推送工具包
│?? ├── loadbalancer-spring-boot-starter 負載均衡工具包
│?? ├── log-spring-boot-starter 日志工具包
│?? ├── oss-spring-boot-starter aws s3 oss工具包
│?? ├── redis-spring-boot-starter redis工具包
│?? ├── rules-spring-boot-starter 簡單規則引擎工具包
│?? ├── sentinel-spring-boot-starter 熔斷限流工具包
│?? ├── swagger-spring-boot-starter swagger工具包
│?? ├── uaa-client-spring-boot-starter 資源服務器抽象工具包
│?? ├── uaa-server-spring-boot-starter 認證服務器抽象工具包
│?? └── uid-spring-boot-starter uid生成工具包
├── job-center 基于nacos改造的xxl-job調度中心
│?? ├── job-admin 調度器
│?? ├── job-core 調度執行內核
│?? └── job-demo 執行器
├── monitor-center 監控中心
│?? ├── admin-server spring boot admin
│?? ├── log-center 日志中心
│?? └── sentienl-server sentinel控制臺
│?? ├── sentinel-dashboard
│?? └── sentinel-tokenserver
├── new-api-gateway spring cloud gateway網關
├── oauth-center oauth鑒權中心
│?? ├── auth-server oauth認證中心
│?? ├── auth-sso oauthsso demo
├── register-center 注冊中心
│?? └── nacos-server nacos
└── web-portal web門戶
└── back-center 后臺管理入口
## 什么是單體倉庫

## 單體倉庫多模塊的好處
* 統一的規范,語言,和IDE帶來的是結構的完整穩定。
* 標準化的開發流程,規避很多不必要的沖突與錯誤。
## pom 簡單介紹
1. profiles默認環境初始化變量
注意平臺pom文件采用了默認的profiles配置方式,具體參考如下:

采用此方式的好處是在開發環境中,平臺默認會讀取
application-dev.properties作為環境變量,初始化項目中的數據庫等初始化相關信息,達到統一平臺配置功能

需要切換環境時,還是采用mvn clean package -Ptest
2. resource動態修改環境
注意平臺filtering相關配置

采用此方式的好處是maven可以動態初始化變量


**特別需要注意是是jks相關證書不能設置filtering=true**
3. 動態版本發布
注意平臺revision參數

```
<properties>
<revision>2.0.2</revision>
</properties>
```
**flatten-maven-plugin動態替換平臺版本參數**
## maven 編譯

```
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for open-capacity-platform 2.0.2:
[INFO]
[INFO] open-capacity-platform ............................. SUCCESS [ 1.704 s]
[INFO] inner-intergration ................................. SUCCESS [ 0.186 s]
[INFO] banner-spring-boot-starter ......................... SUCCESS [ 1.439 s]
[INFO] log-spring-boot-starter ............................ SUCCESS [ 5.138 s]
[INFO] base-spring-boot-starter ........................... SUCCESS [ 31.524 s]
[INFO] redis-spring-boot-starter .......................... SUCCESS [ 3.451 s]
[INFO] common-spring-boot-starter ......................... SUCCESS [ 3.414 s]
[INFO] config-spring-boot-starter ......................... SUCCESS [ 0.562 s]
[INFO] db-spring-boot-starter ............................. SUCCESS [ 7.871 s]
[INFO] flyway-spring-boot-starter ......................... SUCCESS [ 2.501 s]
[INFO] swagger-spring-boot-starter ........................ SUCCESS [ 3.034 s]
[INFO] uaa-client-spring-boot-starter ..................... SUCCESS [ 5.682 s]
[INFO] uaa-server-spring-boot-starter ..................... SUCCESS [ 6.045 s]
[INFO] loadbalancer-spring-boot-starter ................... SUCCESS [ 3.105 s]
[INFO] sentinel-spring-boot-starter ....................... SUCCESS [ 3.320 s]
[INFO] rules-spring-boot-starter .......................... SUCCESS [ 2.653 s]
[INFO] oss-spring-boot-starter ............................ SUCCESS [ 2.012 s]
[INFO] uid-spring-boot-starter ............................ SUCCESS [ 4.674 s]
[INFO] jpush-spring-boot-starter .......................... SUCCESS [ 2.924 s]
[INFO] register-center .................................... SUCCESS [ 0.159 s]
[INFO] nacos-server ....................................... SUCCESS [ 11.307 s]
[INFO] oauth-center ....................................... SUCCESS [ 0.117 s]
[INFO] auth-server ........................................ SUCCESS [ 11.748 s]
[INFO] auth-sso ........................................... SUCCESS [ 2.300 s]
[INFO] business-center .................................... SUCCESS [ 0.106 s]
[INFO] user-center ........................................ SUCCESS [ 8.350 s]
[INFO] batch-center ....................................... SUCCESS [ 4.517 s]
[INFO] file-center ........................................ SUCCESS [ 6.843 s]
[INFO] sms-center ......................................... SUCCESS [ 6.055 s]
[INFO] codegen-center ..................................... SUCCESS [ 5.559 s]
[INFO] tuning-center ...................................... SUCCESS [ 0.123 s]
[INFO] test-db-spring-boot-starter ........................ SUCCESS [ 6.137 s]
[INFO] test-rabbitmq-cloud-stream-starter ................. SUCCESS [ 0.145 s]
[INFO] producing .......................................... SUCCESS [ 2.114 s]
[INFO] comsumer ........................................... SUCCESS [ 2.112 s]
[INFO] test-redis-spring-boot-starter ..................... SUCCESS [ 1.975 s]
[INFO] test-disruptor-spring-boot-starter ................. SUCCESS [ 3.294 s]
[INFO] test-log-spring-boot-starter ....................... SUCCESS [ 2.314 s]
[INFO] test-jmh-spring-boot-starter ....................... SUCCESS [ 4.621 s]
[INFO] test-rule-spring-boot-starter ...................... SUCCESS [ 5.053 s]
[INFO] test-generator-starter ............................. SUCCESS [ 1.309 s]
[INFO] monitor-center ..................................... SUCCESS [ 0.115 s]
[INFO] admin-server ....................................... SUCCESS [ 2.527 s]
[INFO] sentienl-server .................................... SUCCESS [ 0.113 s]
[INFO] sentinel-dashboard ................................. SUCCESS [ 7.155 s]
[INFO] sentinel-tokenserver ............................... SUCCESS [ 1.461 s]
[INFO] log-center ......................................... SUCCESS [ 6.461 s]
[INFO] new-api-gateway .................................... SUCCESS [ 8.227 s]
[INFO] job-center ......................................... SUCCESS [ 0.178 s]
[INFO] job-core ........................................... SUCCESS [ 5.127 s]
[INFO] job-admin .......................................... SUCCESS [ 9.380 s]
[INFO] job-demo ........................................... SUCCESS [ 3.104 s]
[INFO] web-portal ......................................... SUCCESS [ 0.101 s]
[INFO] back-center ........................................ SUCCESS [ 6.689 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:49 min
[INFO] Finished at: 2023-02-26T11:02:31+08:00
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "nexus" could not be activated because it does not exist.
Process finished with exit code 0
```
## 統一的依賴管理
溫馨提示
當前 Spring Cloud Alibaba 的2021.1版本基于 2020.0.5開發, Spring Boot 版本使用 2.5.14,注意此版本號,以免發生意想不到的問題(比如服務無法注冊到服務器)

Spring Cloud Alibaba 項目都是基于 Spring Cloud,而 Spring Cloud 項目又是基于 Spring Boot 進行開發,并且都是使用 Maven 做項目管理工具。在實際開發中,我們一般都會創建一個依賴管理項目作為 Maven 的 Parent 項目使用,這樣做可以極大的方便我們對 Jar 包版本的統一管理。

- 01.前言
- 02.快速開始
- 01.maven構建項目
- 02.安裝mysql數據庫
- 03.安裝redis緩存中間件
- 04.快速啟動框架
- 03.總體流程
- 01.架構設計圖
- 02.oauth接口
- 03.功能介紹
- 04.部署細節
- 04.模塊詳解
- 01.基礎介紹
- 02.自定義db-spring-boot-starter
- 03.自定義log-spring-boot-starter
- 04.自定義redis-spring-boot-starter
- 05.自定義base-spring-boot-starter
- 06.自定義common-spring-boot-starter
- 07.自定義loadbalancer-spring-boot-starter
- 08.自定義swagger-spring-boot-starter
- 09.自定義uaa-client-spring-boot-starter
- 10.自定義uaa-server-spring-boot-starter
- 11.自定義oss-spring-boot-starter
- 12.自定義sentinel-spring-boot-starter
- 05.服務詳解
- 01.nacos-server
- 02.auth-server
- 03.user-center
- 04.new-api-gateway
- 05.file-center
- 06.log-center
- 07.back-center
- 08.auth-sso模塊
- 09.admin-server
- 10.job-center
- 06.系統安全
- 01.非法字符漏洞攻擊
- 02.防重放攻擊
- 03.代碼審計
- 04.Xray掃洞
- 05.混沌工程質量保證
- 07.生產部署K8S
- 01.基本環境安裝
- 02.基本組件安裝
- 03.集群驗證
- 04.安裝Metrics Server
- 05.安裝容器平臺
- 06.Ingress網關
- 07.metalb負載均衡器
- 08.容器平臺集群
- 08.K8S資源練習
- 01.Deployment
- 02.StatefulSet
- 03.DaemonSet
- 04.redis集群服務
- 05.elasticsearch集群
- 06.rocketmq部署
- 09.生產容器化部署
- 01.nacos集群部署
- 02.user-center服務
- 03.auth-server服務
- 04.new-api-gateway服務
- 技術交流