一個不容錯過的Spring Cloud實戰項目!

SpringBoot實戰電商項目mall(30k+star)地址:github.com/macrozheng/…前端

摘要

mall-swarm做爲mall項目的Spring Cloud版本,目前已更新至最新代碼,新增了權限管理功能。mall項目中的代碼將一直保持最新,mall-swarm每過一段時間將從mall中合併一次代碼,本文主要介紹mall-swarm的基本內容及學習路線。git

mall-swarm簡介

mall-swarm是一套微服務商城系統,採用了 Spring Cloud Greenwich、Spring Boot 二、MyBatis、Docker、Elasticsearch等核心技術,同時提供了基於Vue的管理後臺方便快速搭建系統。mall-swarm在電商業務的基礎集成了註冊中心、配置中心、監控中心、網關等系統功能。github

系統架構圖

系統架構圖

後端技術棧

技術 說明
Spring Cloud 微服務框架
Spring Boot 容器+MVC框架
Spring Security 認證和受權框架
MyBatis ORM框架
MyBatisGenerator 數據層代碼生成
PageHelper MyBatis物理分頁插件
Swagger-UI 文檔生產工具
Elasticsearch 搜索引擎
RabbitMq 消息隊列
Redis 分佈式緩存
MongoDb NoSql數據庫
Docker 應用容器引擎
Druid 數據庫鏈接池
OSS 對象存儲
MinIO 對象存儲
JWT JWT登陸支持
LogStash 日誌收集
Lombok 簡化對象封裝工具
Seata 全局事務管理框架
Portainer 可視化Docker容器管理
Jenkins 自動化部署工具

項目結構

mall
├── mall-common -- 工具類及通用代碼模塊
├── mall-mbg -- MyBatisGenerator生成的數據庫操做代碼模塊
├── mall-security -- 封裝SpringSecurity+JWT的安全認證的模塊
├── mall-registry -- 基於Eureka的微服務註冊中心
├── mall-config -- 基於Spring Cloud Config的微服務配置中心
├── mall-gateway -- 基於Spring Cloud Gateway的微服務API網關服務
├── mall-monitor -- 基於Spring Boot Admin的微服務監控中心
├── mall-admin -- 後臺管理系統服務
├── mall-search -- 基於Elasticsearch的商品搜索系統服務
├── mall-portal -- 移動端商城系統服務
└── mall-demo -- 微服務遠程調用測試服務
複製代碼

學習路線

以前有朋友問我,mall-swarm這個項目有沒有學習教程?其實這個項目的功能與mall項目基本一致,只是在此基礎上改爲了微服務版本,只要看我寫的《mall學習教程》和《Spring Cloud學習教程》便可,下面聊聊我所推薦的學習路線。web

學習mall

《mall學習教程》主要分爲以下幾個部分,推薦學習順序是除參考篇之外能夠按下面的順序學習,對於參考篇,能夠在用到裏面相關技術時再學習。spring

  • 序章:mall項目的總體架構及功能介紹,同時對於新手推薦了一些相關書籍資料;
  • 架構篇:mall項目的架構搭建教程,手把手教你搭建一個mall項目在使用的基本項目骨架;
  • 業務篇:mall項目電商業務相關教程,對於瞭解項目業務有很大幫助;
  • 技術要點篇:mall項目中的一些技術要點解析,主要介紹一些技術在項目中的運用;
  • 部署篇:mall項目的部署教程,包括Windows、Linux和自動化部署方案;
  • 參考篇:mall項目中所用技術和工具的入門教程,每一篇均可以單獨學習,對於mall項目,這些教程的深刻程度都剛恰好。

項目地址:github.com/macrozheng/…數據庫

學習SpringCloud

《Spring Cloud學習教程》是一套涵蓋大部分核心組件使用的教程,包括Spring Cloud Alibaba及分佈式事務Seata,基於Spring Cloud Greenwich及SpringBoot 2.1.7。20篇文章,篇篇精華,30個Demo,涵蓋大部分應用場景。mall-swarm項目中所用到的Spring Cloud技術該教程基本都涵蓋了,學習該教程能夠爲學習mall-swarm項目打下良好的Spring Cloud基礎。後端

項目地址:github.com/macrozheng/…緩存

學習mall-swarm

當咱們學習了《mall學習教程》和《Spring Cloud學習教程》以後就能夠着手學習mall-swarm這個項目了。首先須要的就是按以前的教程把項目跑起來,而後進行源碼的學習,相信有了學習上面兩套教程的基礎,搞懂源碼並非什麼難事。下面提供下mall-swarm的部署教程:安全

項目地址:github.com/macrozheng/…架構

對接前端項目

最近發現有不少朋友使用mall-admin-web項目來對接mall-swarm項目,遇到了一些問題。這裏須要提醒一點,因爲咱們的mall-swarm項目使用Spring Cloud Gateway做爲網關服務,因此前端請求都須要走網關服務,具體能夠參考《先後端分離項目,引入 Spring Cloud Gateway 遇到的一個問題!》

項目地址:github.com/macrozheng/…

項目地址

github.com/macrozheng/…

公衆號

mall項目全套學習教程連載中,關注公衆號第一時間獲取。

公衆號圖片
相關文章
相關標籤/搜索