blob: 315f45208e867da80d77172e34f587f93f0fb473 [file] [log] [blame]
Ralph Knag1fca6ac2017-12-05 12:05:57 -05001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
4Service Discovery
5=================
6
7Service discovery is an architecture pattern used for components
8(micro-services) to locate each other. The DCAE platform uses
9`server-side
10discovery <http://microservices.io/patterns/server-side-discovery.html>`__
11and is using `Consul <https://www.consul.io/>`__ as the service registry
12solution.
13
Ralph Knagd2cd31b2018-04-02 16:27:46 -040014Service Registration
Ralph Knag1fca6ac2017-12-05 12:05:57 -050015--------------------
16
17All components are required to register with Consul in order to be
18discovered. There are two methods of registration: self and 3rd party.
19The DCAE platform uses 3rd party registration which means components
20dont actually make the registration calls but defers that
21responsibility to a platform service.
22
23Implementation for Docker
24~~~~~~~~~~~~~~~~~~~~~~~~~
25
26`Registrator <http://gliderlabs.com/registrator/latest/>`__ is an open
27source application that is responsible for registering all components
28that run as Docker containers. Registrator watches the local Docker
29engines activity log and will register and unregister a Docker
30container when the container is started and stopped.
31
32Implementation for CDAP
33~~~~~~~~~~~~~~~~~~~~~~~
34
35The CDAP broker is a REST web service that is responsible for
36registering all components that run as CDAP applications.