第一部分從商品服務功能、訂單服務功能兩大模組的開發入手,將兩大業務模組做成兩個獨立的微服務模組,並註冊到微服務中心EurekaServer中。
第二部分根據Spring Cloud中基於Feign的服務間的遠端呼叫,實現訂單模組對商品模組部分功能的訪問,為了減少模組之間程式碼冗餘,降低模組之間的耦合度,將專案改造為多模組結構,模組之間訪問時透過引入Maven依賴實現。
第三部分根據Spring Cloud分散式配置的相關知識來配置Git倉庫,方便儲存專案的配置檔案,使配置檔案和專案檔案分離,配置檔案修改後不需要重啟服務,請求重新整理介面後即可直接生效。
第四部分將訊息佇列應用到訂單服務模組和非同步扣庫存功能,採用RabbitMQ訊息框架和Spring Stream來實現。
第五部分在HTTP請求到達微服務之前,設計基於Spring Cloud Zuul的閘道器,實現客戶端訪問多個微服務的統一入口,根據不同請求選擇訪問不同的微服務,並在訪問微服務之前透過設定過濾器實現許可權控制、API監控等功能。
專案總體功能描述1.專案功能需求介紹
(1)商品服務
查詢商品類別。查詢所有在架的商品。商品庫存更新,此功能涉及微服務間的呼叫。(2)訂單服務
查詢商品資訊,根據使用者訂單中的商品ID查詢商品列表,涉及微服務間的呼叫。查詢訂單資訊,這裡是根據訂單ID查詢訂單詳細資訊。訂單資訊校驗,主要檢查買家提交訂單中的必填項,如買家微訊號、地址、姓名、手機號等,並校驗其輸入格式是否正常。計算總價,根據訂單項中的商品價格和購買數量,計算訂單總價。扣除庫存,使用者下單成功後,商品庫存數量需要更新。此功能涉及微服務間呼叫和訊息佇列的使用。訂單入庫,將完整的訂單資訊表儲存到訂單表,同時將跟訂單對應的所有訂單項儲存到訂單項表中,這裡涉及事務管理。2.技術框架
實戰涉及的技術包括:Spring Cloud Greenwich全家桶元件(Greenwich版本是基於Spring Boot 2.1.x版本構建的)、Redis快取、訊息佇列RabbitMQ、Spring Cloud Bus、Spring Cloud Stream。分散式配置儲存使用Git,專案管理工具採用Maven。
全篇PDF章節目錄展示Eureka Server 實現高可靠
配置倉庫
最新評論