架构设计2024
心得
优秀博客
mall微服务项目架构
图片和文档引用地址 https://gitee.com/macrozheng/springcloud-learning
-
架构设计
- 前端通过nginx访问网关,网关进入认证和鉴权,认证不通过就转发到登录模块,认证通过就把访问转发给其他服务。
- 这种controler分散在不同的微服务中。
- oauth2 这个是单独的认证模块,不需要集成SpringSecurity 框架。
-
项目结构
springcloud-learning
├── eureka-server -- eureka注册中心
├── eureka-security-server -- 带登录认证的eureka注册中心
├── eureka-client -- eureka客户端
├── user-service -- 提供User对象CRUD接口的服务
├── ribbon-service -- ribbon服务调用测试服务
├── hystrix-service -- hystrix服务调用测试服务
├── turbine-service -- 聚合收集hystrix实例监控信息的服务
├── hystrix-dashboard -- 展示hystrix实例监控信息的仪表盘
├── feign-service -- feign服务调用测试服务
├── zuul-proxy -- zuul作为网关的测试服务
├── config-server -- 配置中心服务
├── config-security-server -- 带安全认证的配置中心服务
├── config-client -- 获取配置的客户端服务
├── consul-config-client -- 用于演示consul作为配置中心的consul客户端
├── consul-user-service -- 注册到consul的提供User对象CRUD接口的服务
├── consul-service -- 注册到consul的ribbon服务调用测试服务
├── api-gateway -- gateway作为网关的测试服务
├── admin-server -- admin监控中心服务
├── admin-client -- admin监控中心监控的应用服务
├── admin-security-server -- 带登录认证的admin监控中心服务
├── oauth2-server -- oauth2认证测试服务
├── oauth2-jwt-server -- 使用jwt的oauth2认证测试服务
├── oauth2-client -- 单点登录的oauth2客户端服务
├── nacos-config-client -- 用于演示nacos作为配置中心的nacos客户端
├── nacos-user-service -- 注册到nacos的提供User对象CRUD接口的服务
├── nacos-ribbon-service -- 注册到nacos的ribbon服务调用测试服务
├── sentinel-service -- sentinel功能测试服务
├── seata-order-service -- 整合了seata的订单服务
├── seata-storage-service -- 整合了seata的库存服务
├── seata-account-service -- 整合了seata的账户服务
├── micro-oauth2 -- Gateway + Oauth2 实现统一认证和鉴权
└── micro-knife4j -- Gateway + Knife4j聚合API文档
mall单体项目架构
图片和文档引用地址 https://gitee.com/macrozheng/mall
- 系统架构图
- 前端通过nginx先访问mall-admin模块,在这个块中集成了认证鉴权功能,这个模块中包含了所以的访问入口也就是controler。
- 功能的实现放在了其他模块,其他模块调用了注册中心,在通过注册中心相互间实现调用。
- SpringSecurity 这个框架,只在单体项目中进行使用
-
业务架构图