Fix pom.xml
[dcaegen2.git] / docs / architecture / service-discovery.md
1 # Service Discovery
2
3 Service discovery is an architecture pattern used for components (micro-services) to locate each other.  The DCAE platform uses [server-side discovery](http://microservices.io/patterns/server-side-discovery.html) and is using [Consul](https://www.consul.io/) as the service registry solution.
4
5 ## Service registration
6
7 All components are required to register with Consul in order to be discovered.  There are two methods of registration: self and 3rd party.  The DCAE platform uses 3rd party registration which means components don't actually make the registration calls but defers that responsibility to a platform service.
8
9 ### Implementation for Docker
10
11 [Registrator](http://gliderlabs.com/registrator/latest/) is an open source application that is responsible for registering all components that run as Docker containers.  Registrator watches the local Docker engine's activity log and will register and unregister a Docker container when the container is started and stopped.
12
13 ### Implementation for CDAP
14
15 The CDAP broker is a REST web service that is responsible for registering all components that run as CDAP applications.