基于Spring Cloud的微服務電商平臺系統,這個項目手把手教你實現
一年之計在于春,新年就要有新的打算,TJ君身邊不少小伙伴都有點想在新的一年里開個網店的沖動,但是如何入手、如何開店都是個學問,需要好好研究,不過這也說明了電商行業的前景還是不錯滴。
所以當TJ君今天留意到這個開源項目的時候,第一反應就是,可用!推薦!
mall4cloud
說到mall4cloud,不得不先說下Mall4j。
Mall4j是一個商用的提供多元化電商服務,滿足企業多場景業務需求,為垂直行業提供專業的電商解決方案網站,提供多種成熟的電商配套服務,而mall4cloud則正是它的開源版本!
此開源版本,是一個基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服務B2B2C電商商城系統,非常良心的沒有其他二次封裝,真正做到完全開源,小伙伴們無論是學習,還是二次開發,都是非常合適的一個項目。
項目使用 AGPLv3 開源規則,采用主流的互聯網技術架構,支持集群部署、服務注冊和發現以及擁有完整的訂單流程,同時還擁有不錯的UI設計效果。
先看看整體目錄結構及應用分層:
其中各項分層解釋是這樣的:
- VO(View Object):顯示層對象,通常是 Web 向模板渲染引擎層傳輸的對象。
- DTO(Data Transfer Object):數據傳輸對象,前端像后臺進行傳輸的對象,類似于param。
- BO(Business Object):業務對象,內部業務對象,只在內部傳遞,不對外進行傳遞。
- Model:模型層,此對象與數據庫表結構一一對應,通過 Mapper 層向上傳輸數據源對象。
- Controller:主要是對外部訪問控制進行轉發,各類基本參數校驗,或者不復用的業務簡單處理等。為了簡單起見,一些與事務無關的代碼也在這里編寫。
- FeignClient:由于微服務之間存在互相調用,這里是內部請求的接口。
- Controller:主要是對內部訪問控制進行轉發,各類基本參數校驗,或者不復用的業務簡單處理等。為了簡單起見,一些與事務無關的代碼也在這里編寫。
- Service 層:相對具體的業務邏輯服務層。
- Mapper持久層:數據訪問層,與底層 MySQL進行數據交互。
- Listener:監聽 RocketMQ 進行處理,有時候會監聽easyexcel相關數據。
- Manager 層:通用業務處理層,主要有三個特點。
- 個 DAO 的組合復用。
了解了這些我們還可以看下項目的架構圖:
然后還可以看下實際運行的效果:
訂單界面
平臺管理界面
小程序界面
項目還提供了一系列的開發及搭建文檔,供小伙伴們在使用過程中查看: