Soul网关第二步-接入 HTTP 示例应用

 

soul源码地址:https://github.com/dromara/soul

今天是第二天,运行HTTP示例。

soul 现有支持的插件如图所示:

Soul网关第二步-接入 HTTP 示例应用_第1张图片

我们今天来演示学习divide模块。

divide 配置默认是开的,在使用前确认开关。可以通过下面的开关进行控制:

Soul网关第二步-接入 HTTP 示例应用_第2张图片

 

配置演示模块到soul-admin中:

  
        soul-admin
        soul-common
        soul-web
        soul-spring-boot-starter
        soul-bootstrap
        soul-client
        soul-plugin
        soul-sync-data-center
        soul-metrics
        soul-spi
        soul-register-center
        soul-dist
        soul-examples/soul-examples-http//添加改模块

    

查找项目:soul-examples/soul-examples-http  将其构建为maven项目。

Soul网关第二步-接入 HTTP 示例应用_第3张图片

运行测试项目:

注意idea设置勾选多线程运行。

Soul网关第二步-接入 HTTP 示例应用_第4张图片

此时soul-examples-http/src/main/resources/application.yml端口配置为:

server:
  port: 8188
  address: 0.0.0.0


soul:
  http:
    adminUrl: http://localhost:9095
    port: 8188
    contextPath: /http
    appName: http
    full: false

变更端口,重启。注意将端口变更为8189。注意此处有两个端口需同时修改。

server:
  port: 8189
  address: 0.0.0.0


soul:
  http:
    adminUrl: http://localhost:9095
    port: 8189
    contextPath: /http
    appName: http
    full: false

 

刷新控制台页面:

我们看到配置项被添加。其中我们的两个端口配置在SelectorList中,访问链接在RulesList中。

 

Soul网关第二步-接入 HTTP 示例应用_第5张图片

初始化,我们的两个Ip以50%的权重被配置:

Soul网关第二步-接入 HTTP 示例应用_第6张图片

当再次改变端口,权重依然是50%,代表新增的服务与之前的服务权重保持一致。

Soul网关第二步-接入 HTTP 示例应用_第7张图片

 

访问链接得到结果如下:

http://localhost:9195/http/test/findByUserId?userId=1
{"userId":"1","userName":"hello world"}

Soul网关第二步-接入 HTTP 示例应用_第8张图片

 

此时控制台报错:

经过代码追踪,发现在此处报错,但这里有个逻辑悖论,这里是有配置divide插件的,但当匹配到该插件时却报错,不知为何:

 

访问的端口不是呈现均衡请求,而是集中到了 最新添加的端口8187上,着实诡异,明天一探究竟吧。

Soul网关第二步-接入 HTTP 示例应用_第9张图片

你可能感兴趣的:(soul网关学习系列,网关,java)