我有一个相当简单的Spring CloudNetflix设置。我们使用Zuul作为反向代理,Eureka用于服务发现和注册。我们有我们正在慢慢窒息的遗留服务。我们有许多简单的服务,其endpoint配置如下:
{host}:{port}/{service-name}/**
因此,现在当每个服务都在eureka注册并随后向Zuul添加路由时,zuul终结点如下所示:
{zuul-host}:{zuul-port}/{service-name}/{service-name}/**
我想阻止Zuul将前缀从eureka服务的路由URI中剥离,以便我的Zuulendpoint如下所示:
{zuul-host}:{zuul-port}/{service-name}/**
并转发到:
{zuul-host}:{zuul-port}/{service-name}/**
我希望以这样一种方式完成,即我不必为每个服务添加配置。
我本以为zuul.strip前缀
可以做到这一点,但事实似乎并非如此。
目前Zuulapplication.yml:
zuul:
routes:
oldservice:
path: /oldservice/**
url: http://oldservice-host:9080/api/v1/oldservice
strip-prefix: false
eureka:
client:
serviceUrl:
defaultZone: http://eureka-host:8761/eureka/
有人对如何以这种方式配置zuul有建议吗?
既然你在eureka注册你的服务,为什么不使用service-id进行路由,如下所示。service-id是你的服务在Eureka中注册的id。
zuul:
routes:
path: /oldservice/**
service-id: oldservice
strip-prefix: false
eureka:
client:
serviceUrl:
defaultZone: http://eureka-host:8761/eureka/
对于您当前的场景,我在路线中移动了条带前缀,在我的系统中,您可以尝试这样做。
zuul:
routes:
oldservice:
path: /oldservice/**
url: http://oldservice-host:9080/api/v1/oldservice
strip-prefix: false
eureka:
client:
serviceUrl:
defaultZone: http://eureka-host:8761/eureka/
我只有很少的spring boot微服务,它们是通过云环境部署到JBoss的。这些引导服务是在Eureka服务器中注册自己的Eureka客户端。下面是一个例子: 它用user-regn-service-app Eureka主页的名称向Eureka注册应用程序 wildfly服务器在8080处运行,而user-regn-service-app部署在上下文路径/user-regn-service-ap
我们在我们的环境中使用Spring Cloud Netflix Zuul和Eureka。 我知道Ribbon从Eureka获取指定serviceId的服务器列表。在我们的例子中,我们有4个服务容器,其中一个容器是执行资源密集型任务的主容器。我想从服务器列表中过滤掉主容器,这样Ribbon就不会向容器转发任何请求。 如何过滤? 任何帮助都很感激。
我正在尝试使用spring和spring cloud开发一个spring cloud微服务。我想在AWS弹性Beanstalk中部署我的微服务应用程序。我怀疑在我的微服务中包含Spring云工具。 当我使用弹性beanstalk帐户时,弹性beanstalk是否像spring cloud Zuul一样提供服务发现和路由,还是我需要用我的微服务实现来实现这些? 当我在探索Spring cloud微服
我正在开发一个微服务,我正在尝试使用Zuul代理来路由这些服务。但由于某些原因,Zuul无法路由到在eureka注册的应用程序。我尝试过增加hystrix和Zuul超时,但没有效果 引发异常 通用域名格式。netflix。祖尔。例外ZuuleException:组织转发错误。springframework。云netflix。祖尔。过滤器。路线带状路由过滤器。handleException(Ribb
我正在创建一个由3个(服务a、服务B和服务C)微服务组成的示例。所有3项服务以及网关服务(zuul)都在eureka注册。我的用例是: 1) 所有请求都将通过网关服务进入系统——正常工作 2) 对于每个针对服务C的请求,网关服务应该首先调用服务A来执行某些操作。当服务A做出肯定响应时,请求应该被转发到服务B。一旦服务A和服务B都做出肯定响应,请求最终应该被转发到服务C。 我想使用zuul路由过滤器
我正在尝试建立一个基于Spring功能的简单微服务架构。我有3个简单的微服务作为起点:1配置服务器(Spring cloud config)2发现服务器(eureka Server)3网关Zuul 我配置了这些服务,以便发现服务器存储所有的.properties文件,它将自己注册到发现服务器,以便所有其他服务检索.properties文件,而不是通过静态url而是通过eureka服务器访问发现。