What is the conceptual difference between Service Discovery tools and Load Balancers that check node health?

后端 未结 3 600
醉梦人生
醉梦人生 2021-01-31 11:31

Recently several service discovery tools have become popular/\"mainstream\", and I’m wondering under what primary use cases one should employ them instead of traditional load ba

3条回答
  •  生来不讨喜
    2021-01-31 11:49

    Note that the two are not necessarily mutually exclusive. It is possible, for example, that you might still direct clients to a load balancer (which might perform other roles such as throttling) but have the load balancer use a service registry to locate instances.

    Also worth pointing out that service discovery enables client-side load balancing i.e. the client can invoke the service directly without the extra hop through the load balancer. My understanding is that this was one of the reasons that Netflix developed Eureka, to avoid inter-service calls having to go out and back through the external ELB for which they would have had to pay. Client-side load balancing also provides a means for the client to influence the load-balancing decision based on its own perspective of service availability.

提交回复
热议问题