项目介绍

mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。

系统架构图

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图

系统架构图

组织结构

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系列教程:http://www.macrozheng.com
  • 配套Spring Cloud系列教程:https://github.com/macrozheng/springcloud-learning

项目演示

  • 后台管理系统:http://www.macrozheng.com/admin/index.html
  • 移动端商城系统:http://www.macrozheng.com/app/index.html

技术选型

后端技术

技术 说明
Spring Cloud 微服务框架
Spring Boot 容器+MVC框架
Spring Security 认证和授权框架
MyBatis ORM框架
MyBatisGenerator 数据层代码生成
PageHelper MyBatis物理分页插件
Swagger-UI 文档生产工具
Elasticsearch 搜索引擎
RabbitMq 消息队列
Redis 分布式缓存
MongoDb NoSql数据库
Docker 应用容器引擎
Druid 数据库连接池
OSS 对象存储
JWT JWT登录支持
LogStash 日志收集
Lombok 简化对象封装工具
Seata 全局事务管理框架

前端技术

技术 说明
Vue 前端框架
Vue-router 路由框架
Vuex 全局状态管理框架
Element 前端UI框架
Axios 前端HTTP框架
v-charts 基于Echarts的图表框架

环境搭建

开发环境搭建

mall-swarm中使用到的环境和mall项目中大致相同,具体可以查看 mall在Windows环境下的部署。

简易环境搭建流程:

  • 安装IDEA并导入项目源码;
  • 安装MySql,创建一个mall数据库,并导入/document/sql/mall.sql文件;
  • 安装Redis、Elasticsearch、MongoDB、RabbitMQ等环境。

项目部署

mall-swarm项目启动有先后顺序,大家要按照以下顺序启动。

启动注册中心mall-registry

  • 直接运行com.macro.mall.MallRegistryApplication的main函数即可;
  • 运行完成后可以通过注册中心控制台查看:http://localhost:8001

启动配置中心mall-config

  • 直接运行com.macro.mall.MallConfigApplication的main函数即可;
  • 访问以下接口获取mall-admin在dev环境下的配置信息:http://localhost:8301/master/admin-dev.yml

启动监控中心mall-monitor

  • 直接运行com.macro.mall.MallMonitorApplication的main函数即可;
  • 运行完成后可以通过监控中心控制台查看:http://localhost:8101
  • 输入账号密码macro:123456可以登录查看。

启动网关服务mall-gateway

  • 直接运行com.macro.mall.MallGatewayApplication的main函数即可;
  • 访问以下接口获取动态路由规则:http://localhost:8201/actuator/gateway/routes

启动后台管理服务mall-admin

  • 直接运行com.macro.mall.MallAdminApplication的main函数即可;
  • 通过mall-gateway网关服务访问接口文档:http://localhost:8201/mall-admin/swagger-ui.html

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(1)

  • 登录接口地址:http://localhost:8201/mall-admin/admin/login
  • 访问登录接口获取到token后放入认证的头信息即可正常访问其他需要登录的接口:

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(2)

启动前台服务mall-portal

  • 直接运行com.macro.mall.portal.MallPortalApplication的main函数即可;
  • 通过mall-gateway网关服务访问接口文档:http://localhost:8201/mall-portal/swagger-ui.html

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(3)

  • 登录接口地址:http://localhost:8201/mall-portal/sso/login
  • 调用需要登录的接口方式同mall-admin

启动搜索服务mall-search

  • 直接运行com.macro.mall.search.MallSearchApplication的main函数即可;
  • 通过mall-gateway网关服务访问接口文档:http://localhost:8201/mall-search/swagger-ui.html

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(4)

启动测试服务mall-demo

  • 直接运行com.macro.mall.MallAdminApplication的main函数即可;
  • 通过mall-gateway网关服务访问接口文档:http://localhost:8201/mall-demo/swagger-ui.html

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(5)

  • 可以通过调用FeignAdminController、FeignPortalController、FeignSearchController来测试使用Feign的远程调用功能。

效果展示

  • 注册中心服务信息:

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(6)

  • 监控中心服务概览信息:

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(7)
大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(8)

  • 监控中心单应用详情信息:

大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(9)
大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(10)

扩展解决方案

  • 如果想使用Consul作为注册及配置中心的话请参考: Spring Cloud Consul:服务治理与配置中心
  • 如果想使用Nacos作为注册及配置中心的话请参考: Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用
  • 分布式事务解决方案请参考: 使用Seata彻底解决Spring Cloud中的分布式事务问题!
  • ELK日志收集系统的搭建请参考: SpringBoot应用整合ELK实现日志收集。

项目地址

开源不易,觉得本项目有帮助的朋友可以点个Star支持下!

https://github.com/macrozheng/mall-swarm


大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis插图(11)

欢迎关注,点个在看


滴石it网-Java学习中高级和架构师教程_Java企业级开发项目实战下载 » 大型微服务分布式电商项目架构实战SpringBoot+SpringCloud+Nginx+ELK+Jenkins+Docker+K8S+SSO+Redis

常见问题FAQ

发表回复 取消回复

账号登录/注册
QQ登录
微博登录

深圳SEO优化公司同乐网站建设设计温州高端网站设计报价濮阳品牌网站设计朔州网站推广工具推荐双龙网站改版推荐塔城高端网站设计定西网站优化按天收费哪家好福州seo优化多少钱西安优秀网站设计报价酒泉推广网站报价天门网站建设价格平顶山百度网站优化哪家好朔州优秀网站设计报价四平网站推广哪家好遂宁推广网站价格玉林网站改版报价怒江企业网站改版多少钱张家口设计网站推荐玉溪百度爱采购石家庄百度竞价包年推广多少钱毕节企业网站改版哪家好玉林百度关键词包年推广公司坪山百度关键词包年推广推荐厦门网站定制玉林至尊标王公司潮州百度竞价包年推广报价南平网站搜索优化报价泰州英文网站建设哪家好兴安盟网站推广方案公司长葛SEO按天收费推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化