在运行Rancher的Docker容器时,Netflix的Eureka是否提供了任何好处?

我们使用Spring Cloud Netflix收集了使用Spring Boot构build的微服务。 到目前为止,他们已经被打包成RPM,并部署到虚拟机。 使用Eureka已经允许服务注册/发现(显然),我们的跨微服务交互使用Spring的RestTemplate和虚拟IP(VIP)完成,如下所示:

http://foo-service/<PATH_TO_RESOURCE> 

客户端负载平衡是另一个好处。

现在,我们正在寻找使用Docker并在Rancher中运行。 我想知道使用尤里卡在这种环境下还是有意义的。

在Rancher中,如果服务被命名为“foo-service”,那么该名称在Rancher内部networking中被用作VIP,所以上面显示的相同的URL也可以工作。

而且,如果有多个容器支持服务,Rancher将循环负载均衡stream量。

此外,看起来牧场主知道集装箱来得比Eureka快。

我正在努力寻找保持尤里卡的坚实理由。

我非常感谢别人的想法/经验。

谢谢!

对Rancher不太了解,AFAIK使用户可以部署牛,Docker Swarm,Apache Mesos或Kubernetes来pipe理您的容器。

因此,最终归结为您的基础架构平台是否提供了服务发现function(我知道Docker swarm和Kubernetes提供了服务发现function,而不是其他function)。 如果您从平台上获得免费的服务发现,并且您不需要客户端负载平衡,那么尤里卡就是一个矫枉过正的问题

这是对Kubernetes的问题的答案

https://stackoverflow.com/a/40568412/6785908

引用相关部分

在Kubernetes平台上,使用Eureka(或Consul / zookeeper任何其他服务registry)进行服务发现是过度的; 您可以实现与Kubernetes Services(+ kube DNS Addon)相同(可以说是)的function,Kubernetes服务将充当可供参考的IP地址,并为短暂Pod提供负载均衡器(非客户端)。 阅读Christian Posta的[文章] [1]。 如果要通过名称而不是IP地址来引用服务,请将KubeDNS(添加Kubernetes)添加到您的群集。

http://blog.christianposta.com/microservices/netflix-oss-or-kubernetes-how-about-both/

编辑

既然你说过

在Rancher内部,如果服务被命名为“foo-service”,则在Rancher内部networking中将其用作VIP,所以上面显示的相同的URL也可以工作。

另外,如果有多个容器支持服务,Rancher将会在其中进行负载平衡。

因此,您可以免费从您的平台获取服务发现和(服务器端)负载均衡器。 所以,如果你没有一个令人信服的理由做客户端负载平衡,忘记尤里卡。