Does Netflix's Eureka provide any benefit when running Docker containers within Rancher? Does Netflix's Eureka provide any benefit when running Docker containers within Rancher? docker docker

Does Netflix's Eureka provide any benefit when running Docker containers within Rancher?


Not much familiar with Rancher, AFAIK it enables users to deploy a choice of Cattle, Docker Swarm, Apache Mesos or Kubernetes to manage your containers.

So, it finally comes down to whether your infrastructure platform provides service discovery functionality or not (I know Docker swarm and Kubernetes provides Service discovery, not sure about the others); if you get free service discovery out of the box from your platform and if you don't need client side load balancing, eureka is an overkill.

Here is an answer for the question in context of Kubernetes

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

Quoting the relevant parts

In Kubernetes platform, using Eureka (Or Consul/zookeeper any other service registries) for service discovery is an overkill; you can achieve the same (arguably) functionality with Kubernetes Services (+kube DNS Addon), which will act as a referable IP address and a load balancer (not client side) for the ephemeral Pods. Read this [article][1] by Christian Posta. If you want to refer your service by its name instead of IP address add KubeDNS (A kubernetes add on) to your cluster.

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

Edit

Since you said,

Within Rancher, if the Service is named 'foo-service', it is used as a VIP within the Rancher internal network so the same URL shown above can also work, sans Eureka.

Also, if there are multiple Containers backing a Service, Rancher will round-robing load-balance traffic amongst them.

So you are getting both Service discovery and the (server side) load balancer from your platform for free. So if you don't have a compelling reason to do client side load balancing, forget about eureka.