Soul 学习笔记之 Soul Divide 插件(二)

目录

总系列目录地址

上一篇Soul初探

接上篇,启动soul-examples-http,测试http服务

  • soul-examples-http
    Soul 学习笔记之 Soul Divide 插件(二)
  • 可以看到刚刚启动的http服务已经注册到Soul-admin下面的divide插件里面
    Soul 学习笔记之 Soul Divide 插件(二)
  • 具体是如何关联的呢?
    要配置单个服务和admin的关联关系,yml文件配置
    soul:
      http:
        adminUrl: http://localhost:9095
        port: 8188
        contextPath: /http
        appName: http
        full: false
    
    在controller添加@SoulSpringMvcClient(path = “/test/**”),具体查看生效规则
    Soul 学习笔记之 Soul Divide 插件(二)

测试下soul网关转发

  • soul-examples-http访问
    Soul 学习笔记之 Soul Divide 插件(二)
  • soul 转发访问,效果一样
    Soul 学习笔记之 Soul Divide 插件(二)

修改soul网关的规则

  • 规则可以通过loadPlugins修改Soul 学习笔记之 Soul Divide 插件(二)
  • 尝试一下关闭操作,soul网关立刻不能转发返回 “-102“
    Soul 学习笔记之 Soul Divide 插件(二)Soul 学习笔记之 Soul Divide 插件(二)
  • 规则设置还有负载均衡策略,可以在页面修改

    http可以设置多个,会根据负载策略分发

  • 自动检测http服务是否下线
       soul.upstream.check:true  默认为 ture,设置为false,不检测
       soul.upstream.scheduledTime:10  定时检测时间间隔,默认10秒
    

启动多个http服务

  • 在选择器中可以看到启动了两个服务
    Soul 学习笔记之 Soul Divide 插件(二)
  • 尝试负载均衡
  1. 默认配置下经尝试,安装1:1分发请求,把第一个open状态改为“close”后,会自动使用“open”状态的配置。
  2. 尝试修改权重, 重复请求测试,会请求第二个配置。
    Soul 学习笔记之 Soul Divide 插件(二)
  3. 尝试修改Rule, 会实现轮询转发
    Soul 学习笔记之 Soul Divide 插件(二)

总结

经过简单的尝试,个人感觉 soul admin 使用起来还是很简单快捷的。负载均衡可以直接在页面查找,提高了运维效率,甚至可以当做服务的开关配置。把自己原来的应用接入 soul 也很方便,只要增加 soul 的相关配置,就可以直接同步数据到 soul网关。
soul admin的系统管理还有很多选择的功能,貌似是自定义规则,并可以通过页面选择,这个留着其他笔记探索。

上一篇:QT中的qDebug()


下一篇:B. Multiply by 2, divide by 6