美文网首页
soul网关学习17-插曲1-本地启动soul-example-

soul网关学习17-插曲1-本地启动soul-example-

作者: niuxin | 来源:发表于2021-01-30 11:22 被阅读0次

背景

在跟踪soul网关divide插件的负载均衡算法RoundRobinLoadBalance,需要启动多节点才能进入实际的doSelect方法。于是准备在本地启动soul-example-http服务两个实例。

过程

  1. 常规的启动,spring-boot程序可以在ide中运行。这是我的第一个实例,端口为application.yml中配置的端口 8188
    ide-run
  2. soul-admin中查看可以注册成功的
    http-8188-registered
  3. 我们还知道spring-boot的程序可以通过mvn的方式启动,这里还需要更改一下端口,使用如下命令启动
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dserver.port=8189"
  1. 可以看到程序已使用8189启动正常
    http-8189-started
  2. 此时去查看soul-admin是否注册上去,发现并没有注册成功
    http-8189-notRegistered
  3. 查看后台日志发现注册到soul-admin时,仍然使用了8188端口
    http-8189-registered-8188
  4. 查看代码得知注册到soul-admin中,是使用如下配置
    http-soul-admin-port
  5. 因为写死了soul-admin的端口,从而导致了该现象。

解决

  • 找到问题就好办了,我们可以通过如下两种方式解决问题
    1. 更改启动命令。将注册到soul-admin端口也改成8189
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dserver.port=8189 -Dsoul.http.port=8189"
  • 可以解决我们的问题,但是并不优雅,介绍第二种
    1. 更改application.yml。因为soul.http.port必然要与server.port的值保持一直,程序才是正确的,所以soul.http.port改成sever.port的引用值
      change-application.yml
  • 这种方式,启动命令不变,只需改下配置,更合理
  • 更改配置之后再次启动,日志正常。


    http-8189-start-normal
  • soul-admin也成功注册
    http-8189-registered

相关文章

网友评论

      本文标题:soul网关学习17-插曲1-本地启动soul-example-

      本文链接:https://www.haomeiwen.com/subject/vnmhtltx.html