Soul 网关 2:divide 插件与 Http 代理
divide 插件是进行 http 正向代理的插件,所有 http 类型的请求,都是由该插件进行负载均衡的调用。
配置插件
文档:https://dromara.org/zh/projects/soul/divide-plugin/
据文档描述,在 soul-bootsrap 的 pom.xml
引入如下依赖
1 |
|
然后在 soul-admin 界面开启 divide 插件
运行示例代码
示例代码在下面这个位置
如果运行不了就在项目设置中导入这个模块
看一下配置文件,该服务运行在 localhost:8188
整理一下思路
- soul-admin 端口 9095
- soul-bootstrap 端口 9195
- examples 下的 http 服务端口 8188
用 PostMan 构建一个请求,发往 8188 测试一下
现在将请求发往网关试一下,根据 soul-admin 提示,应该构建如下请求
可见网关成功的转发了我们的请求
负载均衡
测试一下负载均衡
修改一下配置,允许并行
端口改成 8189
在 soul-admin divide 界面点击修改
发现有两个配置,权重都是 50
用 PostMan 发送几次请求,观察日志发现请求均匀的打到了两个地址
过滤
通过 waf 界面可以对流量进行过滤
这个界面的选择器会对流量进行初始匹配,匹配通过后会由选择器规则列表进行最终匹配
在选择器列表和选择器规则列表都添加下面的规则,设置返回状态码 504
使用 PostMan 测试,成功拦截
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!