1. 程式人生 > >基於SpringCloud的微服務架構實戰案例項目

基於SpringCloud的微服務架構實戰案例項目

微服務 spring cloud spring boot

QuickStart

基於SpringCloud體系實現,簡單購物流程實現,滿足基本功能:註冊、登錄、商品列表展示、商品詳情展示、訂單創建、詳情查看、訂單支付、庫存更新等等。

每個業務服務采用獨立的MYSQL數據庫,初期考慮用到如下組件:

  1. 服務註冊、發現: eureka

  2. 配置管理:spring config , spring security

  3. 集群容錯: hystrix(待實現)

  4. API網關: zuul(待實現)

  5. 服務負載:feign+ribbon

  6. api文檔輸出:swagger2

  7. 代碼簡化:lombok

  8. 消息隊列:rabbitmq

  9. 分布式鎖: redis (待實現)

  10. 鏈路跟蹤:spring cloud sletuh ->zipkin

  11. 安全認證:oauth2/JWT(待實現)

  12. 服務監控:spring-boot-admin

各模塊介紹

模塊名稱端口簡介
admin-server9002服務監控中心,監控所有服務模塊
conf-server9004分布式配置中心,結合spring-security/rabbitmq同時使用
eureka-server9003服務註冊中心,提供服務註冊、發現功能
sleuth-server9001SpringCloud實現的一種分布式追蹤解決方案,兼容Zipkin
zuul-server9005API網關模塊
account-service8080用戶服務,提供註冊、登錄、地址等服務
product-service8081商品服務,提供商品列表、詳情、庫存更新等服務
payment-service8082支付服務,支付記錄
order-service8083訂單服務,提供訂單創建、詳情、狀態變更
msg-service8084消息處理服務
front-app8088前端服務,結合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的微服務架構實戰案例項目