本文介绍的项目是基于SpringCloud为服务化的系统架构实现。从微服务网关,微服务注册与发现,配置、熔断限流、监控、以及服务调用链路追踪等,以及容器化部署持续集成等一系列方案。

项目地址:https://github.com/macrozheng/mall

mall

前言

mall项目致力于打造一个完整的电商系统,采用现阶段流行技术实现。

项目文档

  • 文档地址:http://www.macrozheng.com
  • 备用地址:https://macrozheng.github.io/mall-learning

项目介绍

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

项目演示

后台管理系统

前端项目mall-admin-web地址:https://github.com/macrozheng/mall-admin-web

项目演示地址: http://www.macrozheng.com/admin/index.html

前台商城系统

前端项目mall-app-web地址:敬请期待......

项目演示地址:http://www.macrozheng.com/app/index.html

组织结构

mall
├── mall-common -- 工具类及通用代码
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码
├── mall-security -- SpringSecurity封装公用模块
├── mall-admin -- 后台商城管理系统接口
├── mall-search -- 基于Elasticsearch的商品搜索系统
├── mall-portal -- 前台商城系统接口
└── mall-demo -- 框架搭建时的测试代码

技术选型

后端技术

技术 说明 官网
SpringBoot 容器+MVC框架 https://spring.io/projects/spring-boot
SpringSecurity 认证和授权框架 https://spring.io/projects/spring-security
MyBatis ORM框架 http://www.mybatis.org/mybatis-3/zh/index.html
MyBatisGenerator 数据层代码生成 http://www.mybatis.org/generator/index.html
PageHelper MyBatis物理分页插件 http://git.oschina.net/free/Mybatis_PageHelper
Swagger-UI 文档生产工具 https://github.com/swagger-api/swagger-ui
Hibernator-Validator 验证框架 http://hibernate.org/validator
Elasticsearch 搜索引擎 https://github.com/elastic/elasticsearch
RabbitMQ 消息队列 https://www.rabbitmq.com/
Redis 分布式缓存 https://redis.io/
MongoDB NoSql数据库 https://www.mongodb.com
Docker 应用容器引擎 https://www.docker.com
Druid 数据库连接池 https://github.com/alibaba/druid
OSS 对象存储 https://github.com/aliyun/aliyun-oss-java-sdk
MinIO 对象存储 https://github.com/minio/minio
JWT JWT登录支持 https://github.com/jwtk/jjwt
LogStash 日志收集工具 https://github.com/logstash/logstash-logback-encoder
Lombok 简化对象封装工具 https://github.com/rzwitserloot/lombok
Jenkins 自动化部署工具 https://github.com/jenkinsci/jenkins

前端技术

技术 说明 官网
Vue 前端框架 https://vuejs.org/
Vue-router 路由框架 https://router.vuejs.org/
Vuex 全局状态管理框架 https://vuex.vuejs.org/
Element 前端UI框架 https://element.eleme.io
Axios 前端HTTP框架 https://github.com/axios/axios
v-charts 基于Echarts的图表框架 https://v-charts.js.org/
Js-cookie cookie管理工具 https://github.com/js-cookie/js-cookie
nprogress 进度条控件 https://github.com/rstacruz/nprogress

架构图

系统架构图

业务架构图

模块介绍

后台管理系统 mall-admin

  • 商品管理:功能结构图-商品.jpg
  • 订单管理:功能结构图-订单.jpg
  • 促销管理:功能结构图-促销.jpg
  • 内容管理:功能结构图-内容.jpg
  • 用户管理:功能结构图-用户.jpg

前台商城系统 mall-portal

功能结构图-前台.jpg

开发进度

环境搭建

开发工具

工具 说明 官网
IDEA 开发IDE https://www.jetbrains.com/idea/download
RedisDesktop redis客户端连接工具 https://github.com/qishibo/AnotherRedisDesktopManager
Robomongo mongo客户端连接工具 https://robomongo.org/download
SwitchHosts 本地host管理 https://oldj.github.io/SwitchHosts/
X-shell Linux远程连接工具 http://www.netsarang.com/download/software.html
Navicat 数据库连接工具 http://www.formysql.com/xiazai.html
PowerDesigner 数据库设计工具 http://powerdesigner.de/
Axure 原型设计工具 https://www.axure.com/
MindMaster 思维导图设计工具 http://www.edrawsoft.cn/mindmaster
ScreenToGif gif录制工具 https://www.screentogif.com/
ProcessOn 流程图绘制工具 https://www.processon.com/
PicPick 图片处理工具 https://picpick.app/zh/
Snipaste 屏幕截图工具 https://www.snipaste.com/
Postman API接口调试工具 https://www.postman.com/
Typora Markdown编辑器 https://typora.io/

开发环境

工具 版本号 下载
JDK 1.8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Mysql 5.7 https://www.mysql.com/
Redis 5.0 https://redis.io/download
MongoDB 4.2.5 https://www.mongodb.com/download-center
RabbitMQ 3.7.14 http://www.rabbitmq.com/download.html
Nginx 1.10 http://nginx.org/en/download.html
Elasticsearch 7.6.2 https://www.elastic.co/downloads/elasticsearch
Logstash 7.6.2 https://www.elastic.co/cn/downloads/logstash
Kibana 7.6.2 https://www.elastic.co/cn/downloads/kibana

搭建步骤

Windows环境部署

  • Windows环境搭建请参考:mall在Windows环境下的部署;
  • 注意:只启动mall-admin,仅需安装Mysql、Redis即可;
  • 克隆mall-admin-web项目,并导入到IDEA中完成编译:前端项目地址;
  • mall-admin-web项目的安装及部署请参考:mall前端项目的安装与部署。

Docker环境部署

  • 使用虚拟机安装CentOS7.6请参考:虚拟机安装及使用Linux,看这一篇就够了;
  • Docker环境的安装请参考:开发者必备Docker命令;
  • 本项目Docker镜像构建请参考:使用Maven插件为SpringBoot应用构建Docker镜像;
  • 本项目在Docker容器下的部署请参考:mall在Linux环境下的部署(基于Docker容器);
  • 本项目使用Docker Compose请参考: mall在Linux环境下的部署(基于Docker Compose);
  • 本项目在Linux下的自动化部署请参考:mall在Linux环境下的自动化部署(基于Jenkins);

相关环境部署

  • ELK日志收集系统的搭建请参考:SpringBoot应用整合ELK实现日志收集;
  • 使用MinIO存储文件请参考:前后端分离项目,如何优雅实现文件存储;
  • 读写分离解决方案请参考:你还在代码里做读写分离么,试试这个中间件吧;
  • Redis集群解决方案请参考:Docker环境下秒建Redis集群,连SpringBoot也整上了!。

SpringCloud实现微服务商城架构开源项目相关推荐

  1. SpringCloud学习--微服务架构

    目录 微服务架构快速指南 SOA Dubbo Spring Cloud Dubbo与SpringCloud对比 微服务(Microservice)架构快速指南 什么是软件架构? 软件架构是一个包含各种 ...

  2. 国内外微服务技术架构演进背景

    文章目录 (1)国内BAT互联网大厂的微服务架构演进路线 (2)海外硅谷互联网大厂的微服务架构演进路线 (3)目前国内公司的主流微服务技术栈介绍 (1)国内BAT互联网大厂的微服务架构演进路线 几乎所 ...

  3. SpringCloud 微服务架构开源项目,适合接私活、毕业设计(附源码)

    今天给大家推荐一个牛逼的接私活项目,SpringCloud微服务架构项目! 一个由商业级项目升级优化而来的微服务架构,采用SpringBoot 2.5 .SpringCloud 等核心技术构建,提供基 ...

  4. 关于SpringCloud微服务云架构构建B2B2C电子商务平台之- Spring Cloud集成项目简介(三)...

    2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的 ...

  5. springcloud 整合 gateway_GitHub上最火的SpringCloud微服务商城系统项目,附全套教程

    项目介绍 mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich.Spring Boot 2.MyBatis.Docker.Elasticsearch等核心技术 ...

  6. 基于SpringCloud的微服务架构演变史?

    系统架构演变概述 在公司业务初创时期,面对的主要问题是如何将一个想法变成实际的软件实现,在这个时候整个软件系统的架构并没有搞得那么复杂,为了快速迭代,整个软件系统就是由"App+后台服务&q ...

  7. 微服务架构与SpringCloud:微服务架构的特点

    微服务架构与Spring Cloud 近几年大家都在谈论云原生和微服务,例如 © 云原生技术能够帮助公司和机构在私有云.公有云和混有云等新型动态环境中,构建和运行可弹性扩展的应用. 微服务架构是一项在 ...

  8. 尚硅谷2020微服务分布式电商项目《谷粒商城》学习笔记

    尚硅谷2020微服务分布式电商项目<谷粒商城> 项目简介 资料 百度云 链接:https://pan.baidu.com/s/1eGCTi6pLtKbDCwBs-zCOzQ 提取码:1pm ...

  9. 基于springCloud的微服务架构设计

    Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...

最新文章

  1. CloudCompare基础架构介绍(PPT)
  2. 《塞洛特傳說》道具系统
  3. movie bookmark
  4. 自定义Dictionary支持线程安全
  5. [密码学] Shannon保密系统的信息理论 熵与完美保密性
  6. Redis开发:发布/订阅消息示例
  7. 孩子在华艺舞校的画画投稿-天女之梦
  8. 世界公认的第一商人——成就犹太商人的15个信条
  9. compile error
  10. stl之multiset容器的应用
  11. bypass名词解释
  12. TCP和UDP的区别(简单明了)
  13. 期末前端web大作业——动漫客栈响应式bootstarp(7页) 排版整洁,内容丰富,主题鲜明
  14. 购买了虚拟主机还要云服务器,购买了虚拟主机还要云服务器
  15. ASEMI代理MC34PF3001A7EP原装现货NXP车规级MC34PF3001A7EP
  16. UINO优诺:数字孪生可视化管理GIV,打造统览全局大视野
  17. PHPMyWind编辑器支持一键粘贴
  18. 3.2 一个对象从创建到回收的整个过程(从类加载到GC),能掌握这个基本就没什么太大的问题;
  19. PHP实现对小程序微信支付v2订单的结果查询
  20. --->>>MySQL常用命令关键点

热门文章

  1. Chrome实现独立代理
  2. 基于OpenCV的单目相机标定与三维定位
  3. 什么牌子的蓝牙耳机好?重低音分体式蓝牙耳机!
  4. PTMs-GPT,GPT2
  5. APP在后台被系统回收后,如何重新启动
  6. 向Android系统中添加模块及产品流程
  7. 九龙证券|AI重塑半导体基础设施,人工智能发展持续加速
  8. Matlab画图技巧
  9. 一篇文了解电商直播的优势和平台
  10. stl如果开o2_Flow-3D地形模型处理