我正在尝试通过Spring cloud Netflix Zuul路由现有服务。
我在以下网址提供现有服务,
http://localhost:3080/query-service/getquery/1
开箱即用,我可以使用zuul路由到服务,如下所示, localhost:9000 / queryservice-id / queryservice / getquery / 1,with" queryservice-id"作为服务注册表中注册的服务的服务ID。 zuul端口是9000。
我不希望在通过ZUUL访问服务时更改上下文路径和服务路径信息。
使用ZUUL,我想访问以下服务, http://localhost:9000/query-service/getquery/1
我确实想要使用" serviceId"作为前缀。这是因为我不想影响服务的任何现有客户端。只有主机和端口发生更改,没有serviceId。
我能够通过ZUUL配置完成它,
zuul:
routes:
query-service:
path: /query-service/**
serviceId: query-service
stripPrefix: false
通过上面的配置,我只能使用zuul主机和端口,其他服务特定信息仍然像以前一样。看起来像stripPrefix在没有serviceId的情况下帮助路由。
但是,我有很多服务,也会增加更多服务。
对于每一个这样的服务,我都不想在ZUUL配置中添加这样的规则,这意味着重建和回收ZUUL服务。
我认为应该有一个更简单,更好的方法来实现这一点,而不需要付出很大的努力,因为我想要做的改变对所有服务都是通用的
有没有办法让这种变化与我想要的服务相同 通过ZUUL路由。
谢谢,
答案 0 :(得分:0)
经过Spring Cloud Netflix团队的检查,这是推荐的方法。 https://github.com/spring-cloud/spring-cloud-netflix/issues/1549