模块之间的关系

我们可以了解到一共有这么多服务,我们先启动这三个服务

在这里插入图片描述

其中rouyi–api模块是远程调用也就是提取出来的openfeign的接口
ruoyi–commom是通用工具模块
其他几个都是独立的服务

在这里插入图片描述

ruoyi-api模块

api模块当中有几个提取出来的OpenFeign的接口
分别为文件,日志,用户服务
在这里插入图片描述

我们以RemoteUserService接口为例子:其中contextId = "remoteUserService"为bean的名称,
value = ServiceNameConstants.SYSTEM_SERVICE为接口的描述,
fallbackFactory = RemoteUserFallbackFactory.class调用失败时候的降级策略,一般会打印返回错误日志信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接下来查看接口提供方和调用方

提供方
在这里插入图片描述
调用方
在这里插入图片描述

我们注意这几个地方。通过自定义注解@innerAuth+AOP来拒绝外部请求

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

切面逻辑

在这里插入图片描述
但是这依然存在一个问题,就是我们可以用postman之类的工具,配置一个请求头携带参数
from-source:inner 从而来在外部直接访问内部服务。若依在网关这里通过过滤器将外部请求做了一次处理,清楚的携带这个参数的可能

在这里插入图片描述

还有一点就是不同服务间的调用需要携带一些参数,若依通过拦截器来进行相关的设置

在这里插入图片描述

Logo

快速构建 Web 应用程序

更多推荐