美文网首页
spring zuul超时设置

spring zuul超时设置

作者: DimonHo | 来源:发表于2018-05-18 11:55 被阅读984次

    通过zuul路由到某个微服务,请求成功,但是响应却总是报500错误,经过调试发现只有在后台处理超过1s的请求会这样,感觉应该是响应超时的问题,但是无论我将zuul.host.socket-timeout-millis或zuul.host.connect-timeout-millis设置多大,问题依然存在。

    server:
      port: 8080
      servlet:
        context-path: /
    eureka:
      client:
        service-url:
          defaultZone:   http://localhost:8761/eureka/
      instance:
        status-page-url: http://localhost:8080/swagger-ui.html
    zuul:
      ignoredServices: '*'
      ignoredPatterns: /**/admin/**
      host:
        max-per-route-connections: 60000
        socket-timeout-millis: 60000
        connect-timeout-millis: 60000
      routes:
        docdelivery:
          path: /doc-delivery/**
          serviceId: doc-delivery
        configserver:
          path: /config-server/**
          serviceId: config-server
    

    查看官网 http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html#_zuul_timeouts 后发现,对于通过serviceId路由的服务,设置zuul.host是没用的,你需要设置另外两个参数:ribbon.ReadTimeout 和ribbon.SocketTimeout。
    在application.yml中添加如下配置:

    ribbon:
      ReadTimeout: 60000  # 单位毫秒数
      SocketTimeout: 60000
    

    问题得到解决。

    相关文章

      网友评论

          本文标题:spring zuul超时设置

          本文链接:https://www.haomeiwen.com/subject/osfgdftx.html