如何使用Netflix / Eureka Service中的发现信息在Netflix / Zuul和Netflix / Ribbon中启用自动路由?

时间:2016-12-16 15:58:41

标签: java spring-boot microservices netflix-zuul netflix-eureka

我使用netflix云微服务架构做了很多新事。

我的网络中运行了三个微服务:

  • Zuul / Ribbon Service:localhost:8765

    Application.yml: =============== eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/

  • Eureka Service:localhost:8761

  • RentCarService:localhost:8888

现在,我的请求是: localhost:8765 / RentCarService / getAllAvailableCars

此请求应自动路由到正确的微服务(RentCarService with Port 8888),如 localhost:8888 / getAllAvailableCars

我看过很多教程,其中大部分都是以编程方式转发请求,如本教程所示:

Microservice discovery with spring boot and eureka

Or here by a method called getServiceURL

我必须自己编制转发代码,还是这可以通过功能区自动执行?

Beste问候 拉斯

2 个答案:

答案 0 :(得分:0)

直到现在还没有自动路由这样的东西至少我们需要在你的yml文件中声明Zuul来处理路由。

在你的application.yml中添加这些行

 zuul:
  routes:
   users:
    path: /myusers/**
    serviceId: users_service

忽略任何路由使用ignoredServices属性,如

 zuul:
  ignoredServices: '*'

有关详细信息,请参阅此this链接。

这将忽略您服务的所有自动路由。

希望这可以帮助你。

感谢。

答案 1 :(得分:0)

到目前为止,我得到了它的工作。我的主要问题是不同微生物的不同版本。请关心这个!

另一个想法:我认为自动路由(没有任何路由定义)是不可能的。我必须在路由定义中至少写出微服务的名称。在这种情况下,地址解析由Eureka服务器完成。

如果我错了,请纠正我。