Soul网关插件之Spring Cloud

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

出现这个错误的主要缘由是由于。soul-examples里面的springcloud插件项目使用的默认注册中心是eureka,pom文件中也是eureka。即便yml中配置文件修改了也没用。所以须要讲示例中心中的pom依赖修改成nacos的依赖。重启便可解决问题git

正常启动状况下,被代理接口的访问

注册成功后,被成功代理的接口列表
file
正常代理的单个接口的访问
file
通配符代理的接口的访问,主要是要符合通配的格式要求github

  • 若是含有 /** 表明你的整个接口须要被网关代理
    另外,在配置文件中若是增长了soul.springcloud.full=true便可代理所有接口
    file
    能够看到被代理接口增长了超时时间的选择

随后启动多个端口不一样的示例项目,发现选择器中并无注入这些项目,怀疑并无在网关层作负载均衡,后续源码阶段能够一探究竟面试

另外一个能够关注的点:元数据

其余的许多中间件和插件也都有元数据的概念,掌握Soul里的元数据的概念对咱们理解其余中间件的元数据的使用应该也会颇有帮助。同时,学习使用Soul在元数据操做上的经验
filespring

另外一个能够关注的点:插件处理管理

file
看列表数据能够看到这里的字段值对应的某种规则。后续源码解读能够理解这一块的逻辑和处理思路。能够尝试着本身自定义一个这样的插件处理管理的规则小程序

问题

  • 代理Spring Cloud时没有作负载均衡的操做。负载均衡由springCloud组件来完成

欢迎搜索关注本人与朋友共同开发的微信面经小程序【大厂面试助手】和公众号【微瞰技术】,以及总结的分类面试题https://github.com/zhendiao/JavaInterview微信

file
file

相关文章
相关标签/搜索