Quick Read for Service Discovery

Reemi Shirsath
3 min readJul 9, 2020

A process of automatically detecting the services and devices available on the network is called as Service discovery. Service discovery helps in finding relevant services according to the requirement and helps in locating services hosted by mobile devices which are immediately available for use.

Service discovery protocols are used by Service discovery, these are the network protocols that allow detection of devices and services offered. Service discovery protocols allow a device to search for other available services in a domain and in return, the protocol delivers the relevant hostnames (IP address ) to the device in order to communicate.

Standards are used to define service and formulate the queries in order to discover those services.

We can also say that service discovery is the process of discovering services that match the user's functional as well as non-functional requirements and also helps the user by reducing the configuration efforts.

Why Use Service Discovery

Let us consider you are doing programming and while coding you require some services that have REST API to be invoked. For doing so you need to send a request and for that, you will need the IP address (network location ) of a services instance. If the applications are running on physical hardware the location will be static and it is mostly if the application is a traditional one. But if the application is the modern one its IP address will be dynamically assigned and in this case, you will require the use of Service Discovery.

So basically when you are working on any application which requires services whose IP address is needed to be discovered in order to communicate with the service at that time you can make use of Service Discovery.

How does Service Discovery Work

Sevice discovery has three components:

i. The Service Provider: Service provider registers while entering and de-register itself in the service registry while leaving the system

ii. Ther Service Consumer: Service consumer gets services providers location from the service registry and then using that location it connects with the service provider

iii. The Service Registry: Service registry is a database that stores the network locations of services instances. It consists of cluster of servers which uses a replication protocol in order to maintain consistency

Types of Service Discovery

1. Server-side Service Discovery:

Service-side service discovery allows clients application to discover services through the help of a router or a load balancer

2. Client-side Service Discovery:

Client-side service discovery allows clients applications to discover services by through the service registry. The service registry consists of service instances, endpoints.

Top 5 Tools Used for Service Discovery:

  1. Consul
  2. Zookeeper
  3. Eureka
  4. etcd
  5. Keepalived

The activity to locate servers in the network based on the given service type and service attributes in a reasonable time. The service discovery is, therefore, a mapping from service type and attributes to the set of servers.

Reference: https://www.igi-global.com/chapter/mobile-agents-personalized-multimedia-services/21031

Read more about Consul here -> Introduction to Consul Made Simple

--

--

Reemi Shirsath

𝘾𝙊𝙊 @ 𝙂𝙤𝙡𝙖𝙣𝙜 𝙎𝙥𝙚𝙘𝙞𝙖𝙡𝙞𝙨𝙚𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 𝘾𝙤𝙢𝙥𝙖𝙣𝙮- Scalent.io