GitHub上最火的SpringCloud微服务商城系统项目,附全套教程
项目介绍
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。
系统架构图
组织结构
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 -- 微服务远程调用测试服务
项目地址及项目教程
添加我的VX:tkzl6666 即可获得《项目地址及项目教程》
技术选型
后端技术
前端技术
环境搭建
开发环境搭建
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
- 登录接口地址:http://localhost:8201/mall-admin/admin/login
- 访问登录接口获取到token后放入认证的头信息即可正常访问其他需要登录的接口:
启动前台服务mall-portal
- 直接运行com.macro.mall.portal.MallPortalApplication的main函数即可;
- 通过mall-gateway网关服务访问接口文档:http://localhost:8201/mall-portal/swagger-ui.html
- 登录接口地址:http://localhost:8201/mall-portal/sso/login
- 调用需要登录的接口方式同mall-admin。
启动搜索服务mall-search
- 直接运行com.macro.mall.search.MallSearchApplication的main函数即可;
- 通过mall-gateway网关服务访问接口文档:http://localh
启动测试服务mall-demo
- 直接运行com.macro.mall.MallAdminApplication的main函数即可;
- 通过mall-gateway网关服务访问接口文档:http://localhost:8201/mall-demo/swagger-ui.html
- 可以通过调用FeignAdminController、FeignPortalController、FeignSearchController来测试使用Feign的远程调用功能。
效果展示
- 注册中心服务信息:
监控中心服务概览信息:
- 监控中心单应用详情信息:
扩展解决方案
- 如果想使用Consul作为注册及配置中心的话请参考:Spring Cloud Consul:服务治理与配置中心
- 如果想使用Nacos作为注册及配置中心的话请参考:Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用
- 分布式事务解决方案请参考:使用Seata彻底解决Spring Cloud中的分布式事务问题!
- ELK日志收集系统的搭建请参考:SpringBoot应用整合ELK实现日志收集。
GitHub上最火的SpringCloud微服务商城系统项目,附全套教程的更多相关文章
- 史上最简单的springcloud微服务入门实例,满足企业日常需求,开箱即用,工资翻倍不是梦
在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高.到后面引入了SOA服务化,但是,由于 SOA 早期均使用了总线模式,这种总线模式是与某种技术 ...
- SpringCloud微服务学习笔记
SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...
- .NET Core微服务 权限系统+工作流(二)工作流系统
一.前言 接上一篇 .NET Core微服务 权限系统+工作流(一)权限系统 ,再来一发 工作流,我在接触这块开发的时候一直好奇它的实现方式,翻看各种工作流引擎代码,探究其实现方式,个人总结出来一个核 ...
- IDEA 集成 Docker 插件实现一键远程部署 SpringBoot 应用,无需三方依赖,开源微服务全栈项目有来商城云环境的部署方式
一. 前言 最近有些童鞋对开源微服务商城项目 youlai-mall 如何部署到线上环境以及项目中 的Dockerfile 文件有疑问,所以写了这篇文章做个答疑以及演示完整的微服务项目发布到线上的流程 ...
- Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)
Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发 ...
- 【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心
在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心.注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务.Spring Cloud体系的子项目中,Spring Clou ...
- 【微服务】之四:轻松搞定SpringCloud微服务-负载均衡Ribbon
对于任何一个高可用高负载的系统来说,负载均衡是一个必不可少的名称.在大型分布式计算体系中,某个服务在单例的情况下,很难应对各种突发情况.因此,负载均衡是为了让系统在性能出现瓶颈或者其中一些出现状态下可 ...
- 【微服务】之五:轻松搞定SpringCloud微服务-调用远程组件Feign
上一篇文章讲到了负载均衡在Spring Cloud体系中的体现,其实Spring Cloud是提供了多种客户端调用的组件,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使 ...
- 【微服务】之六:轻松搞定SpringCloud微服务-API网关zuul
通过前面几篇文章的介绍,我们可以轻松搭建起来微服务体系中比较重要的几个基础构建服务.那么,在本篇博文中,我们重点讲解一下,如何将所有微服务的API同意对外暴露,这个就设计API网关的概念. 本系列教程 ...
随机推荐
- WPF在.NET 5 中的线路图
WPF是用于构建Windows桌面应用程序的.NET Core UI框架.WPF的所属权最近已经移交给了我们的团队(Windows下开发生态系统和平台的团队).这种转变使跨UI框架(即WinUI和WP ...
- [Qt2D绘图]-02坐标系统&&抗锯齿渲染
本节的内容可以在帮助中通过Coordinate System关键字查看. 或者入门可以看<Qt Creator 快速入门>这本书.强烈推荐入门使用.下面的内容为本书的阅读笔记,喜欢的可以买 ...
- 想用@Autowired注入static静态成员?官方不推荐你却还偏要这么做
生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...
- UVALive - 3644 X-Plosives (并查集)
A secret service developed a new kind of explosive that attain its volatile property only when a spe ...
- windows上Scrapy 框架的安装
采用在命令行直接安装的方式:pip install scrapy报错: 到这个网站下载 Twisted:https://www.lfd.uci.edu/~gohlke/pythonlibs/进入网 ...
- ElasticSearch(一)概念介绍及环境搭建
一.什么是ElasticSearch: Elasticsearch (ES)是一个基于Lucene构建的开源.分布式.RESTful 接口全文搜索引擎.Elasticsearch 还是一个分布式文档数 ...
- ORACLE_19c用户密码登录失败的问题以及ORA-28040
测试环境19c 本地登录无异常,创建测试用户,电脑Plsql登录提示报错ORA-28040,处理后再次登录提示密码错误,最后重置密码再次登录OK? 通过这个问题再次测试及反思: 1.ORA-28040 ...
- 搞事情?Spring Boot今天一口气发布三个版本
学无止境?本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐个击 ...
- python中的and与or
一.问题起源: main=None main=main or sys.modules["__main__"].main main返回的是后面一个值,即 sys.modules[&q ...
- Day02_WebCrawler(网络爬虫)
学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"webcrawler"获取视频和教程资料! b站在线视 ...