現狀
後台管理系統功能過多,維護困難,需按業務組拆分為獨立 Web 模塊。
推薦架構:模塊化單體 → 微服務預備
- 公共內核:提取權限、菜單、登錄、日誌、配置為
common-core 模塊,以 Jar 形式被各子系統依賴。
- 業務微模塊:每個業務組對應一個 Spring Boot 模塊(
user-service, order-service 等),獨立數據庫 Schema 或表前綴。
- 網關聚合:Spring Cloud Gateway / Nginx 統一入口,路由到對應模塊,處理跨域、認證、限流。
- 前端整合:單頁應用 (SPA) 按路由懶加載各模塊頁面,或微前端 框架。
關鍵技術點
- 共享 Session:Redis 存儲 Session,網關統一驗證 Token。
- 跨模塊調用:Feign / RestTemplate + 服務發現 (Nacos/Eureka),或同步調用公共 Jar 內的 Service。
- 數據一致性:本地事務優先,跨服務採用最終一致性(事件驅動/Seata)。
- 統一風格:提取 UI 組件庫,各模塊引用同一套組件,保證風格一致。
參考書籍
《大型網站系統與 Java 中間件實踐》—— 曾憲傑(淘寶技術總監),系統闡述從單體到分布式的演進路徑。
避坑指南
- 不要過早拆分為獨立 WAR/JAR 部署,先做代碼層面模塊化(Maven 多模塊),驗證邊界清晰後再物理分離。
- iframe 方案雖老但簡單,若團隊技術棧不統一可作為過渡方案。