一個完整系統(tǒng)的各模塊關系示例。每個服務都應當是一個獨立的項目, 彼此之間只是通過 pom 引用。
普通目錄
- docs: 存放文檔資料, 例如數(shù)據庫腳本, astah 文件 (UML 工具) 等.
- logs: 運行日志存放目錄.
公共模塊
- apiutils: api 模塊公共父模塊.
- common: 服務模塊公共父模塊, 存放微服務共同依賴的邏輯, 例如事件處理, 定時任務等.
- utils: 工具類模塊.
基礎服務模塊
- eureka: eureka 服務. 提供服務注冊與服務發(fā)現(xiàn)
- config: config 服務. 提供配置管理服務
- turbine: hystrix 服務監(jiān)控
服務模塊
- account: 賬戶服務.
- coupon: 優(yōu)惠券服務.
- order: 訂單服務.
- product: 產品服務.
- user: 用戶服務.
其他模塊
- integration-test: 集成測試模塊.
模塊內部結構
- api: api 接口模塊. 其他依賴 user 服務的服務會依賴這個模塊.
- core: user 服務實現(xiàn)模塊.
- api 和 core 模塊內容都是標準的 maven 項目結構, 其中 core 模塊主要有這么一些子目錄:
context: 存放 Spring Boot 啟動類.
dao: DAO 層.
domain: Model 層. service: Service 層.
web: 存放 Spring MVC Controller.
模塊關系