Jam*_*tti 1 spring docker netflix-eureka rancher spring-cloud-netflix
我们使用Spring Cloud Netflix提供了一系列使用Spring Boot构建的微服务。到目前为止,它们已打包为RPM并已部署到VM。显然,使用Eureka可以进行服务注册/发现,并且我们的跨微服务交互可以使用带有虚拟IP(VIP)的Spring RestTemplate完成,如下所示:
http://foo-service/<PATH_TO_RESOURCE>
Run Code Online (Sandbox Code Playgroud)
客户端负载平衡是另一个好处。
现在,我们希望使用Docker并在Rancher中运行。我想知道在这种环境下使用Eureka还是有意义的。
在Rancher中,如果该服务名为“ foo-service”,则该名称将用作Rancher内部网络中的VIP,因此,上面显示的相同URL也可以使用,Eureka除外。
此外,如果有多个容器支持服务,则Rancher将在其中循环负载均衡流量。
另外,似乎Rancher会比Eureka更早地了解Containers的来来往往。
我正在努力寻找保留尤里卡的坚实理由。
AFAIK对Rancher不太熟悉,它使用户能够部署Cattle,Docker Swarm,Apache Mesos或Kubernetes来管理您的容器。
因此,最终归结为您的基础架构平台是否提供服务发现功能(我知道Docker swarm和Kubernetes提供服务发现,不确定其他人)。如果您可以从平台上直接获得免费的服务发现功能,并且不需要客户端负载平衡,那么eureka是一个过大的选择。
这是关于Kubernetes的问题的答案
报价相关部分
在Kubernetes平台中,使用Eureka(或Consul / zookeeper任何其他服务注册表)进行服务发现是过大的;您可以使用Kubernetes Services(+ kube DNS插件)实现相同(可以说是)的功能,它将用作临时Pod的可参考IP地址和负载平衡器(不是客户端)。阅读克里斯蒂安·波斯塔的这篇[文章] [1]。如果要通过服务名称而不是IP地址来引用服务,则将KubeDNS(添加kubernetes)添加到群集中。
http://blog.christianposta.com/microservices/netflix-oss-or-kubernetes-how-about-both/
既然你说
在Rancher内部,如果该服务被命名为“ foo-service”,则在Rancher内部网络中将其用作VIP,因此上面显示的相同URL也可以使用,Eureka除外。
另外,如果有多个容器支持服务,则Rancher将在它们之间循环负载均衡流量。
因此,您可以从平台上免费获得服务发现和(服务器端)负载均衡器。因此,如果您没有令人信服的理由进行客户端负载平衡,那就不用担心尤里卡了。
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |