乐趣区

关于java:mallswarm-微服务电商项目发布重大更新打造Spring-Cloud最佳实践

Spring Cloud 实战电商我的项目 mall-swarm 地址:https://github.com/macrozheng…

摘要

之前把我的 mall 我的项目更新到了 SpringBoot 2.3.0 版本,微服务版本 mall-swarm 也已同步更新了。此次更新欠缺了我的项目的 Spring Cloud 技术栈,降级至 Spring Cloud Hoxton 版本并退出了 Spring Cloud Alibaba、Oauth2 和 Knife4j,致力于打造 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,实现对立认证和鉴权;
  • 集成 Knife4j,实现网关聚合 API 文档;
  • 降级 Spring Cloud Hoxton.SR5;
  • 降级 Spring Boot 2.3.0.RELEASE;
  • 降级 Elasticsearch 7.6.2;
  • ELK 日志收集功能完善,采纳分场景收集日志的形式;
  • Window 和 Linux 部署文档更新。

更新内容介绍

Spring Cloud Alibaba

集成了 Spring Cloud Alibaba,注册核心和配置核心都改用了 Nacos。之前应用的注册核心是 Eureka,曾经进入保护期不再更新了,之前应用的配置核心是 Spring Cloud Config,须要应用音讯队列能力实现配置刷新。Nacos 既能够当注册核心又能够当配置核心,采纳 Netty 放弃 TCP 长连贯实现配置刷新,领有不便的治理界面,所以就改为应用 Nacos 了。原来的 mall-registrymall-config模块已被移除,在 config 文件夹中寄存了 Nacos 中的配置,启动我的项目时须要导入到 Nacos 中去。

Oauth2

  • 之前我的项目中有个 mall-security 的模块,我把它称为平安模块。所有须要权限校验的模块都须要依赖它,有点工具包的感觉,在微服务中应用总感觉不三不四。
  • 这次改为应用 Oauth2,增加了认证核心mall-auth,实现对立认证和鉴权,更加合乎微服务权限管制,具体能够参考《微服务权限终极解决方案,Spring Cloud Gateway + Oauth2 实现对立认证和鉴权!》。
  • 因为我的项目中存在两套不同的用户体系,后盾用户和前台用户,认证核心对多用户体系也有所反对,拜访认证核心时应用不同的 client_idclient_secret即可辨别不同用户体系,后盾用户应用admin-app:123456,前台用户应用portal-app:123456
  • 对原来的登录接口做了兼容解决,别离会从外部调用认证核心获取 Token,仍然能够应用。

Knife4j

之前每个微服务都有本人的 API 文档地址,须要独自拜访。这次把所有微服务的 API 文档都聚合到了网关上,对立了拜访入口,间接拜访网关的 API 文档地址即可,具体能够参考《微服务聚合 Swagger 文档,这波操作是真的香!》。

Spring Cloud Hoxton.SR5

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

Window 和 Linux 部署文档更新

因为局部组件的降级及我的项目构造的扭转,部署文档也更新了,部署有问题的参考最新文档!

  • mall-swarm 在 Windows 环境下的部署:http://www.macrozheng.com/#/d…
  • mall-swarm 在 Linux 环境下的部署(基于 Docker 容器):http://www.macrozheng.com/#/d…

其余

其余更新内容和 mall 我的项目基本相同,具体参考《Mall 电商实战我的项目公布重大更新,全面反对 SpringBoot 2.3.0!》。

运行成果一览

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

  • 监控核心利用信息;



  • API 文档信息;

  • 日志收集零碎信息;

  • 可视化容器治理;

我的项目地址

如此给力的微服务电商实战我的项目,连忙点个 Star 反对下吧!

https://github.com/macrozheng…

退出移动版