使用Spring Cloud Gateway实现Micorservice API网关

时间:2019-02-11 06:47:12

标签: spring spring-boot spring-cloud netflix-zuul spring-cloud-gateway

我一直在阅读有关在我的微服务架构中实现API网关的Spring Cloud网关。我需要阻止某些内部操作使用的某些URL。但是,我像Zuul一样在网关中使用了 ignoredServices和ignorePatterns ,但是在Spring云网关link中没有这样的事情。我的内部API以/ internal / {something}开头。

类似地,我对服务器,Eureka,歇斯底里和弹簧配置还有其他疑问。下面是我与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 个答案:

答案 0 :(得分:1)

SC网关在路由设置方面与SC Zuul的工作原理不同-它不会根据服务ID自动解析路由。仅添加通过属性或Java RouteLocator配置明确定义的路由。因此,只需不要为要忽略的路径添加路由定义。另外,请确保使用过滤器删除您不想转发的所有敏感标头,因为与Zuul不同,它们默认情况下会被传递。