功能齐全的开源微服务商城系统
The following article is from TJ君 Author TJ
今天要给大家分享一个集合了Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等众多技术的开源微服务商城系统,mall-swarm
mall-swarm是一个提供基于Vue的管理后台方便快速搭建系统,在 电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能,组织架构如下:
mall
├── mall-common -- 工具类及通用代码模块
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码模块
├── mall-auth -- 基于Spring Security Oauth2的统一的认证中心
├── mall-gateway -- 基于Spring Cloud Gateway的微服务API网关服务
├── mall-monitor -- 基于Spring Boot Admin的微服务监控中心
├── mall-admin -- 后台管理系统服务
├── mall-search -- 基于Elasticsearch的商品搜索系统服务
├── mall-portal -- 移动端商城系统服务
├── mall-demo -- 微服务远程调用测试服务
└── config -- 配置中心存储的配置
其用到的技术栈包括:
Spring Cloud 微服务框架 Spring Cloud Alibaba 微服务框架 Spring Boot 容器+MVC框架 Spring Security Oauth2 认证和授权框架 MyBatis ORM框架 MyBatisGenerator 数据层代码生成 PageHelper MyBatis物理分页插件 Knife4j 文档生产工具 Elasticsearch 搜索引擎 RabbitMq 消息队列 Redis 分布式缓存 MongoDb NoSql数据库 Docker 应用容器引擎 Druid 数据库连接池 OSS 对象存储 MinIO 对象存储 JWT JWT登录支持 LogStash 日志收集 Lombok 简化对象封装工具 Seata 全局事务管理框架 Portainer 可视化Docker容器管理 Jenkins 自动化部署工具 Kubernetes 应用容器管理平台 Vue 前端框架 Vue-router 路由框架 Vuex 全局状态管理框架 Element 前端UI框架 Axios 前端HTTP框架 v-charts 基于Echarts的图表框架
mall-swarm,可以实现不同的搭建方式,例如Windows、Docker 、Kubernetes,下面以Windows为例:
1、安装IDEA并导入项目源码;
2、安装MySQL,创建一个mall数据库,并导入/document/sql/mall.sql文件;
3、安装Redis、Elasticsearch、MongoDB、RabbitMQ等环境。
4、Nacos注册中心搭建,使用bin目录下的startup.cmd启动Nacos服务,访问地址:http://localhost:8848/nacos/
5、将项目config目录下的配置文件添加到Nacos中,只要添加包含dev的配置即可,配置文件的文件名称需要和Nacos中的Data Id一一对应;
6、按如下顺序启动
启动网关服务mall-gateway,直接运行MallGatewayApplication的main函数即可; 启动认证中心mall-auth,直接运行MallAuthApplication的main函数即可; 启动后台管理服务mall-admin,直接运行MallAdminApplication的main函数即可; 启动前台服务mall-portal,直接运行MallPortalApplication的main函数即可; 启动搜索服务mall-search,直接运行MallSearchApplication的main函数即可; 启动监控中心mall-monitor,直接运行MallMonitorApplication的main函数即可; 7、运行完成后可以通过监控中心查看监控信息,账号密码为macro:123456:http://localhost:8101;运行完成后可以直接通过如下地址访问API文档:http://localhost:8201/doc.html
8、对于访问需要登录的接口,先调用认证中心接口获取token,后台管理client_id和client_secret为admin-app:123456,前台系统为portal-app:123456;然后将token添加到请求头中,即可访问需要权限的接口了。
最后就可以看下运行效果了:
注册中心服务信息,访问地址:http://localhost:8848/nacos/
监控中心服务概览信息,访问地址:http://localhost:8101
日志收集系统信息,访问地址:http://localhost:5601
想试试的小伙伴,快来获取地址吧~
点击下方卡片,关注公众号“TJ君”
回复“swarm2022”,获取仓库地址
关注我,每天了解一个牛x、好用、有趣的东东