mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践

以前mall项目更新到了SpringBoot 2.3.0版本,微服务版本mall-swarm也已同步更新了。这次更新完善了项目的Spring Cloud技术栈,升级至Spring Cloud Hoxton版本并加入了Spring Cloud Alibaba、Oauth2和Knife4j,致力于打造Spring Cloud 最佳实践项目!数据库

系统架构图

mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践

系统架构图安全

项目组织结构

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 Alibaba,注册中心改用Nacos;架构

  • 权限功能改用Oauth2,实现统一认证和鉴权;app

  • 集成Knife4j,实现网关聚合API文档;ide

  • 升级Spring Cloud Hoxton.SR5;微服务

  • 升级Spring Boot 2.3.0.RELEASE;工具

  • 升级Elasticsearch 7.6.2;测试

  • ELK日志收集功能完善,采用分场景收集日志的方式;lua

  • Window和Linux部署文档更新。spa

更新内容介绍

Spring Cloud Alibaba

集成了Spring Cloud Alibaba,注册中心和配置中心都改用了Nacos。以前使用的注册中心是Eureka,已经进入维护期再也不更新了,以前使用的配置中心是Spring Cloud Config,须要使用消息队列才能实现配置刷新。Nacos既能够当注册中心又能够当配置中心,采用Netty保持TCP长链接实现配置刷新,拥有方便的管理界面,因此就改成使用Nacos了。原来的mall-registry和mall-config模块已被移除,在config文件夹中存放了Nacos中的配置,启动项目时须要导入到Nacos中去。

Oauth2

  • 以前项目中有个mall-security的模块,我把它称为安全模块。全部须要权限校验的模块都须要依赖它,有点工具包的感受,在微服务中使用总感受不三不四。

  • 此次改成使用Oauth2,添加了认证中心mall-auth,实现统一认证和鉴权,更加符合微服务权限控制,

  • 于项目中存在两套不一样的用户体系,后台用户和前台用户,认证中心对多用户体系也有所支持,访问认证中心时使用不一样的client_id和client_secret便可区分不一样用户体系,后台用户使用admin-app:123456,前台用户使用portal-app:123456。

  • 对原来的登陆接口作了兼容处理,分别会从内部调用认证中心获取Token,依然可使用。

Knife4j

以前每一个微服务都有本身的API文档地址,须要单独访问。此次把全部微服务的API文档都聚合到了网关上,统一了访问入口,直接访问网关的API文档地址便可

Spring Cloud Hoxton.SR5

Spring Cloud 和SpringBoot有着版本对应关系,升级到SpringBoot 2.3.0正好对应了该版本。

Window和Linux部署文档更新

因为部分组件的升级及项目结构的改变,部署文档也更新了,部署有问题的参考最新文档!

  • mall-swarm在Windows环境下的部署:

  • mall-swarm在Linux环境下的部署(基于Docker容器)

其余

其余更新内容和mall项目基本相同

运行效果一览

  • 查看注册中心服务信息;

mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


  • 监控中心应用信息;

mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


  • API文档信息;

mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


  • 日志收集系统信息;

mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


  • 可视化容器管理;

mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践


mall-swarm微服务电商项目发布大更新,打造Spring Cloud最佳实践

相关文章
相关标签/搜索