A Service Discovery Component is an architectural building block of the EIRA Technical view - application supporting the Technical interoperability layer of the European Interoperability Framework.
It is included in the Enabler grouping Application Workflow Enablers.


Service Discovery Component is a specialisation of Application Component. It implements the functionality of locating a machine-processable description of a service-related resource that may have been previously unknown and that meets certain functional criteria. It involves matching a set of functional and other criteria with a set of resource descriptions. The goal is to find an appropriate service-related resource.


The Service Discovery Component ABB  is salient for technical interoperability because it allows to implement the funcionality of sharing services available for reuse as stated in the EIF recommendation #eif36 - Develop a shared infrastructure of reusable services & information sources for use by all public administrations: "Develop a shared infrastructure of reusable services and information sources that can be used by all public administrations".


Example
The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):

Consul
Consul has multiple components, but as a whole, it is a tool for discovering and configuring services in an infrastructure. It provides several key features:

  • Service Discovery: Clients of Consul can provide a service, such as api or mysql, and other clients can use Consul to discover providers of a given service. Using either DNS or HTTP, applications can easily find the services they depend upon.
  • Health Checking: Consul clients can provide any number of health checks, either associated with a given service ("is the webserver returning 200 OK"), or with the local node ("is memory utilization below 90%"). This information can be used by an operator to monitor cluster health, and it is used by the service discovery components to route traffic away from unhealthy hosts.
  • KV Store: Applications can make use of Consul's hierarchical key/value store for any number of purposes, including dynamic configuration, feature flagging, coordination, leader election, and more. The simple HTTP API makes it easy to use.
  • Multi Datacenter: Consul supports multiple datacenters out of the box. This means users of Consul do not have to worry about building additional layers of abstraction to grow to multiple regions.

https://www.consul.io/



The latest release of the EIRA© is available on Joinup.


Source: European Interoperability Reference Architecture (EIRA version 3) (url) (with information on the 3rd release at the website of the ISA² - Interoperability solutions for public administrations, businesses and citizens).