当前位置: 首页 > 知识库问答 >
问题:

用Spring云网关实现Micorservice API网关

公孙胡媚
2023-03-14

我一直在读关于spring cloud gateway在我的微服务架构中实现API网关的文章。我需要阻止某些URL我一直在使用一些内部操作。但是,我已经像在Zuul中一样在gateway中使用了IgnoredServices和IgnoredPatterns,但是在Spring cloud gateway链接中没有这样的东西。我的内部API以/internal/{something}开头。

同样,我对服务器、Eureka、hysterics和spring配置有其他疑问。下面是我在Netflix Zuul中使用的apigateway.yml。

zuul:
  ignoredServices: '/**/internal/**'
  sensitive-headers: Cookie,Set-Cookie
  routes:
    microservice1:
      service-id: microservice1
    microservice2:
      service-id: microservice2
  host:
    connect-timeout-millis: 10000
    #10 mins socket timeout
    socket-timeout-millis: 600000

management:
  security:
    enabled: false
health:
  config:
    enabled: false

server:
  tomcat:
    #50MB size limit
    max-http-post-size: 5048576
  compression:
    enabled: true
    mime-types: application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css

eureka:
  instance:
    prefer-ip-address: true
    lease-renewal-interval-in-seconds: 15
    lease-expiration-duration-in-seconds: 45
    metadata-map:
      management:
        port: ${management.port:9080}
  client:
    registryFetchIntervalSeconds: 15

hystrix:
  command:
    default:
      execution:
        timeout:
          enabled: false
        isolation:
          strategy: THREAD
          thread:
            timeoutInMilliseconds: 10000

spring:
  http:
    multipart:
      max-file-size: 50MB
      max-request-size: 50MB

我需要帮助转换这与新的Spring云网关实现。

共有1个答案

宇文元明
2023-03-14

当涉及路由设置时,SC Gateway与SC Zuul的工作方式不同--它不会根据服务ID自动解析路由。只有通过属性或Javaroutelocatorconfig显式定义的路由才会被添加。所以不要为要忽略的路径添加路由定义。此外,确保使用过滤器删除不想向前传递的任何敏感头,因为与Zuul不同,它们将默认传递。

 类似资料:
  • 我有一个带有一些endpoint的anexo API,比如: 如何将Spring Cloud Gateway与这些endpoint一起使用?

  • 我为所有传入请求创建了全局路由,并使用AbstracTerrorWebExceptionHandler。 我的application.yml 运行应用程序时的日志: 谢谢你的帮助。

  • 我使用的是堆栈下 SpringCloudGatewayHoxton发行版,Java1.8,Linux操作系统 我看到下面的异常在重启后消失,但在一段时间后再次出现。我没有为直接内存做任何显式设置。下面是使用的JVM参数- 有人能告诉我错误的原因吗?

  • 我们从应该提供web api服务的项目中删除了核心库:d 如果不可能在同一个项目中使用,那么gateway众所周知的做法应该是怎样的,我应该在每个api微服务前面放一个gateway,还是应该在我的由多个微服务组成的项目中有一个单一的gateway?

  • 当我使用spring cloud gateway集成spring cloud sleuth时,我发现性能比单独使用spring cloud gateway慢得多。是否有优化方案? 机器配置:6芯,16g Spring云网关:5331.9 tps Spring云网关Spring云侦探:4119.47 tps “Spring云网关”比“Spring云网关Spring云侦探”慢约1000-2000tps

  • 我还需要NGINX来服务静态内容,如JS等,并向后端反向代理请求,还是可以用Spring Cloud Gateway来完成?Spring docs有以下图像: 我没有发现关于如何将静态内容返回给客户端的描述,这是否意味着它被认为是糟糕的做法,我需要额外的反向代理步骤来增加它的延迟?如果没有,我可以在哪里找到更多关于如何使用Spring Cloud Gateway实现这一点的信息,尤其是如果我要使用