目录
总系列目录地址
上一篇Soul初探
接上篇,启动soul-examples-http,测试http服务
-
soul-examples-http
- 可以看到刚刚启动的http服务已经注册到Soul-admin下面的divide插件里面
- 具体是如何关联的呢?
要配置单个服务和admin的关联关系,yml文件配置
在controller添加@SoulSpringMvcClient(path = “/test/**”),具体查看生效规则soul: http: adminUrl: http://localhost:9095 port: 8188 contextPath: /http appName: http full: false
测试下soul网关转发
- soul-examples-http访问
- soul 转发访问,效果一样
修改soul网关的规则
- 规则可以通过loadPlugins修改
- 尝试一下关闭操作,soul网关立刻不能转发返回 “-102“
- 规则设置还有负载均衡策略,可以在页面修改
http可以设置多个,会根据负载策略分发
- 自动检测http服务是否下线
soul.upstream.check:true 默认为 ture,设置为false,不检测 soul.upstream.scheduledTime:10 定时检测时间间隔,默认10秒
启动多个http服务
- 在选择器中可以看到启动了两个服务
- 尝试负载均衡
- 默认配置下经尝试,安装1:1分发请求,把第一个open状态改为“close”后,会自动使用“open”状态的配置。
- 尝试修改权重, 重复请求测试,会请求第二个配置。
- 尝试修改Rule, 会实现轮询转发
总结
经过简单的尝试,个人感觉 soul admin 使用起来还是很简单快捷的。负载均衡可以直接在页面查找,提高了运维效率,甚至可以当做服务的开关配置。把自己原来的应用接入 soul 也很方便,只要增加 soul 的相关配置,就可以直接同步数据到 soul网关。
soul admin的系统管理还有很多选择的功能,貌似是自定义规则,并可以通过页面选择,这个留着其他笔记探索。