Edgware.Release НЕ МОЖЕТ настраивать время ожидания через hystrix.command.default, но [serviceId] - PullRequest
0 голосов
/ 08 мая 2018
hystrix:
  command:
    default:
      execution:
        timeout:
          enabled: true
        isolation:
          thread:
            timeoutInMilliseconds: 30000

Это свойство не работает, пока я не заменю «default» своим serviceId. Я только что видел документ Edgware.Release настроить время ожидания zuul, используя значение по умолчанию для commandKey.

Подробнее, я нахожу, что команда hytrix имеет значение RibbonCommand , когда я отлаживаю в своей программе, а commandKey всегда равен моему serviceId. И я не нахожу где это изменить в весеннем облаке док.

А это моё application.yml

server:
  port: 80
spring:
  application:
    name: mofeng-pay-zuul
  ##zipkin:
  ##  base-url: http://localhost:7000
  ##sleuth:
  ##  sampler:
  ##    percentage: 1.0
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

logging:
  level:
    com:
      DEBUG
  file: ${JAVA_LOG_HOME}/zuul.log

zuul:
  ribbonIsolationStrategy: THREAD
  threadPool:
    useSeparateThreadPools: true
  host:
    connections: 500
    socket-timeout-millis: 30000
    connect-timeout-millis: 30000

ribbon:
  ReadTimeout: 10000
  ConnectTimeout: 10000
  MaxAutoRetries: 1
  MaxAutoRetriesNextServer: 1
  eureka:
    enabled: true
  eager-load:
    enabled: true
    clients: 
    - client-service


hystrix:
  command:
    client-service:
      execution:
        timeout:
          enabled: true
        isolation:
          thread:
            timeoutInMilliseconds: 30000

Удаление конфигурации Hystrix и добавление конфигурации следующим образом:

client-service:
  ribbon:
    ConnectTimeout: 10000
    ReadTimeout: 30000
    MaxTotalHttpConnections: 500
    MaxConnectionsPerHost: 100

Это все еще не работает.

1 Ответ

0 голосов
/ 08 мая 2018

Это ошибка (на самом деле улучшение), которая была изменена в Edgware.SR1 .

https://github.com/spring-cloud/spring-cloud-netflix/pull/2633

В Edgware.RELEASE вы не можете использовать тайм-аут Hystrix с клавишей default, так как тайм-аут устанавливается в коде с тайм-аутом подключения ленты плюс тайм-аут чтения. Единственный способ установить тайм-аут в Edgware.RELEASE - это установить тайм-аут с помощью клавиши управления (идентификатор сервиса).

Но это было изменено. Пожалуйста, попробуйте использовать Edgware.SR1 или более позднюю версию.

...