【发布时间】:2016-05-24 10:39:54
【问题描述】:
我有简单的服务:
transactions-core-service 和 transactions-api-service。
transactions-api-service 调用 transactions-core-service 以返回交易列表。使用 hystrix 命令启用 transactions-api-service。
两者都在 Eureka 服务器中注册,服务 ID 如下:
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
Zuul 服务器如下:
@SpringBootApplication
@Controller
@EnableZuulProxy
public class ZuulApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(ZuulApplication.class).web(true).run(args);
}
}
Zuul 配置:
===============================================
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
===============================================
当我尝试使用 url (http://localhost:8765/transactions/accounts/123/transactions/786) 调用 transactions-api-service 时,我得到 Zuul 异常:
2016-02-13 11:29:29.050 警告 4936 --- [nio-8765-exec-1] o.s.c.n.z.filters.post.SendErrorFilter : 过滤时出错
com.netflix.zuul.exception.ZuulException:转发错误 在 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] 在 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] ......
如果我单独调用 transactions-api-service(使用localhost /accounts/123/transactions/786),它可以正常工作。
我是否缺少 Zuul 上的任何配置?
【问题讨论】:
-
我已经在我的网关服务 application.properties 文件中添加了它,它的工作
标签: netflix-zuul