基於SpringCloud的微服務架構實戰案例項目
阿新 • • 發佈:2018-03-05
微服務 spring cloud spring boot QuickStart
基於SpringCloud體系實現,簡單購物流程實現,滿足基本功能:註冊、登錄、商品列表展示、商品詳情展示、訂單創建、詳情查看、訂單支付、庫存更新等等。
每個業務服務采用獨立的MYSQL數據庫,初期考慮用到如下組件:
服務註冊、發現: eureka
配置管理:spring config , spring security
集群容錯: hystrix(待實現)
API網關: zuul(待實現)
服務負載:feign+ribbon
api文檔輸出:swagger2
代碼簡化:lombok
消息隊列:rabbitmq
分布式鎖: redis (待實現)
鏈路跟蹤:spring cloud sletuh ->zipkin
安全認證:oauth2/JWT(待實現)
服務監控:spring-boot-admin
各模塊介紹
模塊名稱 | 端口 | 簡介 |
---|---|---|
admin-server | 9002 | 服務監控中心,監控所有服務模塊 |
conf-server | 9004 | 分布式配置中心,結合spring-security/rabbitmq同時使用 |
eureka-server | 9003 | 服務註冊中心,提供服務註冊、發現功能 |
sleuth-server | 9001 | SpringCloud實現的一種分布式追蹤解決方案,兼容Zipkin |
zuul-server | 9005 | API網關模塊 |
account-service | 8080 | 用戶服務,提供註冊、登錄、地址等服務 |
product-service | 8081 | 商品服務,提供商品列表、詳情、庫存更新等服務 |
payment-service | 8082 | 支付服務,支付記錄 |
order-service | 8083 | 訂單服務,提供訂單創建、詳情、狀態變更 |
msg-service | 8084 | 消息處理服務 |
front-app | 8088 | 前端服務,結合swagger2提供API管理 |
快速上手
1、先啟動admin-server,eureka-server,conf-server三個基礎服務
2、再依次啟動payment/order/product/account基礎業務服務
3、最後啟動front-app服務,打開瀏覽器,輸入http://localhost:8088/swagger... ,根據流程API依次可使用功能
4、後續有時間再提供頁面,基於VUE2+BOOTSTRAP,將流程串起來
Release Version
v2.1
Release Date : 2017-08-29
1、引入swagger2,完成API接口文檔管理完成整體業務數據流程流轉
2、通過API接口完成整體業務數據
3、基於Spring-cloud-config引入配置中心,結合security加強安全配置,同時引入bus-amqp(rabbitmq)高效更新配置內容[配置中心數據結合sc-cloud-repo工程使用]
4、引入feign,滿足客戶端調用服務端的服務
5、引入ribbon,可以滿足客戶端的負載均衡調用後端服務
v1.0
Release Date : 2017-08-17
1、完成基本服務及業務子模塊服務的搭建 ,業務子模塊可正常運行
2、完成SpringBootAdmin業務模塊的運行監控,及Eureka服務運行,滿足各業務基礎服務的註冊、發現功能
3、可通過Front-app端,借助Feign組件發起login/signup等功能的 簡單測試運行。
下一版本,將基於此版本之上,繼續完善完整的購物實現,包括簡單的頁面、api管理/調用等等。
關註更多內容
源碼地址 : https://github.com/backkoms/simplemall
基於SpringCloud的微服務架構實戰案例項目