Hystrix, la cinta, análisis de la fuente Feign (a) cebador

catálogo de la serie

Hystrix, la cinta, análisis de la fuente Feign (a) cebador

Hystrix, la cinta, análisis de código fuente Feign (ii) el principio de generalización

Hystrix, la cinta, análisis de código fuente Feign (c) Detalle de fuente

Hystrix, la cinta, análisis de código fuente Feign (iv) la revisión de mejora

 

En primer lugar, la imprimación

Error en la llamada hace unos días aparecieron los servicios en línea, la arquitectura es una versión de primavera de nubes Greenwich.SR4, utilizar la línea de registro de llamadas fingir después de la investigación encontró que :. Feign cliente llama microService un segundo para el fracaso automáticamente el tiempo de espera. búsqueda en Internet, dijo por defecto es 1 hystrix segunda configuración de tiempo de espera, agregue la siguiente configuración para resolver el problema:

#Feign 
# Apahce httpclient agrupación de conexiones utilizando 
Feign: 
  HttpClient: 
    Habilitado: true 
  Hystrix: 
    Habilitado: true 

# manejo de tiempo de espera 
Hystrix: 
  Comando: 
    por defecto: 
      Ejecución: 
        Aislamiento: 
          Estrategia: Semáforo 
          Tema: timeoutInMilliseconds : 30000 
# tiempo de espera de la configuración global ribbion 
la cinta: 
  la ConnectTimeout: 10000 
  ReadTimeout: 10000
            

 Como se muestra en la figura:

1. Fingir. Hystrix . = Enabled en true representante de fusible abierto

2. Hystrix. Comando . Predeterminado . Ejecución . Aislamiento . Autor . TimeoutInMilliseconds = 30000 milisegundos de tiempo de espera de fusibles, 30 segundos (por defecto 1000)

La fórmula es como sigue:

Hystrix的超时时间=Ribbon的重试次数(包含首次) * (ribbon.ReadTimeout + ribbon.ConnectTimeout)

Esta vez, no hay nada corroboración oficial de la misma?

Las consultas de primavera de nubes 's web oficial después, encontrar el siguiente párrafo:

 

 

La traducción es la siguiente:

hystrix de tiempo de espera> Tiempo de espera de la cinta (que comprenden potencialmente reintentar el tiempo), por ejemplo, una segunda tira de conexión de tiempo de espera, tres reintentos, de modo Hystrix tiempo de espera debe ser> 3 segundos


En segundo lugar, el paso de la solución

Para exponer mis pasos de resolución de problemas, podemos llevar la esperanza a la idea de que para resolver el problema.

Empleamos tres pasos: identificar problemas, analizar y resolver problemas .

2.1 identificar problemas

Aquí es nada más que dos puntos:

  • Uso de cubo de primavera de nubes familia, hystrix, cinta, principios claros fingir lo llaman?
  • configuración yml ¿Qué? La configuración por defecto utilizado para saberlo?

2.2 Análisis del problema

  • Principio por el código oficial de la documentación + fuente (el código es de código abierto). Yo no entendía? Demasiado perezoso para mirar? Fuente de nivel en el blog ahora cada vez menos personas están impetuosa e incluso copiado el blog ...
  • ¿Cómo saber qué configuración específica? Ni idea! ! !

Terminar?

Después de leer documentos oficiales, se encontró primavera arranca todo el paquete frasco, la configuración automática de finalización de código : la colección Primavera-metadata.json la configuración-oadditional-spring-configuration-metadata.json . El primero se genera de forma automática en tiempo de compilación, que se ha personalizado de forma manual. Este último sobre el primero. ( Pero esto es sólo una parte de los detalles de la configuración de un gran número !!! !!! configuración de chat en el código fuente de la derecha nada !!! )

IDEA en propiedades, archivo yml que pueden haber llevado a la configuración desplegable. La figura siguiente:

Vistazo a los específicos additional-spring-configuration-metadata.jsoncontenidos son los siguientes:

Como muestra la Figura:

feign.hysgtrix.enabled Si es verdad, el fusible hystrix abierta. El valor por defecto es falso, no abra.

feign.httpclient.enabled uso abierto Apache HTTP agrupación de conexiones de cliente, activado por defecto.

La pregunta es: No se encontró la primera configuración.

 

Honestamente después de leer el código fuente:

En hysyrix-core-1.5.18.jar (en primavera-nube-motor de arranque-netflix- hystrix: 2.1.4.RELEASE en) finalmente ha encontrado una clase de configuración HystrixCommandProperties

 

Efectivamente, el valor predeterminado es 1 segundo, y finalmente un martillo real.

2.3 para resolver el problema

Esta serie de artículos es una solución práctica al problema. + El código fuente mediante la lectura de los documentos oficiales, Nube H a fondo para descubrir la primavera ystrix + cinta + Feign edad de Dier. Los capítulos siguientes, es nuestro paso por el proceso de resolución de problemas paso.

Una vez más, la tecnología no permite perezoso ! ! !

 

Supongo que te gusta

Origin www.cnblogs.com/dennyzhangdd/p/12418927.html
Recomendado
Clasificación