2016-02-13 22 views
7

Mam proste usługi jak:Zuul nie Proxy stanie drogi, powodując com.netflix.zuul.exception.ZuulException: error Forwarding

transakcji-core-usług i transakcji-API-usługi.

Transakcje-api-service wywołuje transakcje-core-service, aby zwrócić listę transakcji. transaction-api-service jest włączona przy pomocy polecenia hystrix.

Obie są zarejestrowane w serwerze Eureka z usług poniżej identyfikatory:

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 

Poniżej jest serwer Zuul:

@SpringBootApplication 

@Controller 

@EnableZuulProxy 

public class ZuulApplication { 

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

Zuul konfiguracjach:

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

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 

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

Kiedy próbuję wywołać transakcji -api-service z adresem URL (http://localhost:8765/transactions/accounts/123/transactions/786) Otrzymuję Zuul Wyjątek:

13.02.2016 11: 29: 29,050 OSTRZEGAJ 4936 --- [Nio-8765-Exec-1] oscnzfilters.post.SendErrorFilter: Błąd podczas filtrowania

com.netflix.zuul .exception.ZuulException: Błąd przekierowania na 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] w 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] ......

Jeśli wywołuję transakcje-api-service indywidualnie (z localhost /accounts/123/transactions/786), to działa dobrze.

Czy brakuje mi konfiguracji na Zuul?

Odpowiedz

4

Musisz zmienić Zuul limit czasu wykonania przez dodanie tego obiektu application.yml serwera Zuul:

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

Proszę odnieść się do tego wątku w kwestiach Netflix: https://github.com/spring-cloud/spring-cloud-netflix/issues/321

1

masz nieprawidłowe wcięcie. Zamiast:

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

Powinno być:

zuul: 
    ignoredServices: "*" 
    routes: 
    transactions-api-service: 
     path: transactions/accounts/** 
     serviceId: transactions-api-service 
Powiązane problemy