Service Discovery

Every service has own IP in the network the problem only IP's are dynamically allocated (we want flexible system, right?). How client can find a service in this case?
There are two types of service discovery.
First one, is called client side service discovery. Second one is called server side service discovery.
The common part for the both is a service registry (SR). Every service has to register in SR.
Next is different. In case of client side service discovery, client ask a SR for the address of a specific service. In this case client directly queries service and client does balancing. This architecture requires "wise" client.


From other side server side service discovery introduces a router, to redirect client requests to an appropriate service and balance the load. This solution does not requires sophisticated clients, however it introduces extra network hop.


Good example of server side service discovery is Consul.io. Guys from Hashicorp built it on Gossip and RAFT protocols interoperation, so it looks extremely good for me. More about Consul in next posts.

Comments

Popular posts from this blog

Install Kubeflow locally

RabbitMQ and OpenShift