2016-02-13 17 views
7

devo servizi semplici come:Zuul non proxy in grado di indirizzare, con conseguente com.netflix.zuul.exception.ZuulException: errore di inoltro

transazioni-core-service e delle transazioni-api-service.

transaction-api-service invoca transaction-core-service per restituire un elenco di transazioni. transaction-api-service è abilitato con il comando hystrix.

Entrambi sono registrati nel server di Eureka con servizi sotto ids:

TRANSACTIONS-API-SERVICE n/a (1) (1) UP (1) - 192.168.2.12:transactions-api-service:8083 
TRANSACTIONS-CORE-SERVICE n/a (1) (1) UP (1) - 192.168.2.12:transactions-core-service:8087 

Qui di seguito è il server Zuul:

@SpringBootApplication 

@Controller 

@EnableZuulProxy 

public class ZuulApplication { 

    public static void main(String[] args) { 
     new SpringApplicationBuilder(ZuulApplication.class).web(true).run(args); 
    } 
} 

Zuul Configurazioni:

=============================================== 

info: 
    component: Zuul Server 

server: 
    port: 8765 

endpoints: 
    restart: 
    enabled: true 
    shutdown: 
    enabled: true 
    health: 
    sensitive: false 

zuul: 
    ignoredServices: "*" 
    routes: 
    transactions-api-service: 
    path: transactions/accounts/** 
    serviceId: transactions-api-service 

eureka: 
    client: 
    serviceUrl: 
     defaultZone: http://localhost:8761/eureka/ 

logging: 
    level: 
    ROOT: INFO 
    org.springframework.web: DEBUG 

=============================================== 

Quando provo a richiamare le transazioni -api-service con url (http://localhost:8765/transactions/accounts/123/transactions/786) Ottengo Zuul Eccezione:

2016-02-13 11: 29: 29,050 WARN 4936 --- [nio-8765 esec-1] oscnzfilters.post.SendErrorFilter: Errore durante il filtraggio

com.netflix.zuul .exception.ZuulException: errore di inoltro su org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward (RibbonRoutingFilter.java:131) ~ [spring-cloud-net flix-core-1.1.0.M3 .jar: 1.1.0.M3] su org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.run (RibbonRoutingFilter.java:76) ~ [spring-cloud-netflix-core-1.1.0. M3.jar: 1.1.0.M3] ......

Se invoco il servizio API-transazioni singolarmente (con localhost /accounts/123/transactions/786), funziona correttamente.

Mi mancano alcune configurazioni su Zuul?

risposta

4

è necessario modificare Zuul timeout di esecuzione con l'aggiunta di questa struttura a application.yml di server di Zuul:

# Increase the Hystrix timeout to 60s (globally) 
hystrix: 
    command: 
    default: 
     execution: 
     isolation: 
      thread: 
      timeoutInMilliseconds: 60000 

Si prega di fare riferimento a questa discussione su questioni di Netflix: https://github.com/spring-cloud/spring-cloud-netflix/issues/321

1

Hai un errato indentazione. Invece di:

zuul: 
    ignoredServices: "*" 
    routes: 
    transactions-api-service: 
    path: transactions/accounts/** 
    serviceId: transactions-api-service 

Dovrebbe essere:

zuul: 
    ignoredServices: "*" 
    routes: 
    transactions-api-service: 
     path: transactions/accounts/** 
     serviceId: transactions-api-service 
Problemi correlati