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-registry
和mall-config
模块已被移除,在 config
文件夹中寄存了 Nacos 中的配置,启动我的项目时须要导入到 Nacos 中去。
Oauth2
- 之前我的项目中有个
mall-security
的模块,我把它称为平安模块。所有须要权限校验的模块都须要依赖它,有点工具包的感觉,在微服务中应用总感觉不三不四。 - 这次改为应用 Oauth2,增加了认证核心
mall-auth
,实现对立认证和鉴权,更加合乎微服务权限管制,具体能够参考《微服务权限终极解决方案,Spring Cloud Gateway + Oauth2 实现对立认证和鉴权!》。 - 因为我的项目中存在两套不同的用户体系,后盾用户和前台用户,认证核心对多用户体系也有所反对,拜访认证核心时应用不同的
client_id
和client_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…