zoukankan      html  css  js  c++  java
  • 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的依赖。重启即可解决问题

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

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

    • 如果含有 /** 代表你的整个接口需要被网关代理
      另外,在配置文件中如果增加了soul.springcloud.full=true即可代理全部接口
      file
      可以看到被代理接口增加了超时时间的选择

    随后启动多个端口不同的示例项目,发现选择器中并没有注入这些项目,怀疑并没有在网关层做负载均衡,后续源码阶段可以一探究竟

    另一个可以关注的点:元数据

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

    另一个可以关注的点:插件处理管理

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

    问题

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

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

    file
    file

  • 相关阅读:
    深入理解 ProtoBuf 原理与工程实践(概述)
    高性能缓存 Caffeine 原理及实战
    Java 多线程上下文传递在复杂场景下的实践
    SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
    MySQL 5.6.35 索引优化导致的死锁案例解析
    gitlab安装升级(大版本跨度9.4.5----13.2.1)
    mysql 查看表的索引
    python安装mysql库 ,MySQL-python
    Alpine包管理工具apk使用介绍
    docker容器添加hosts
  • 原文地址:https://www.cnblogs.com/zhendiao/p/14300485.html
Copyright © 2011-2022 走看看