Introduction and necessity of service discovery
In a CoreOS environment, all of the user applications will be deployed as services inside a container. For most of these, user applications need to work coherently and hence, a mechanism is needed to discover these services and service parameters. Service discovery via etcd provides a way to publish the services and the required parameters with a service to other services in the system. The service discovery mechanism is not only useful for service parameter discovery but also involves the detection of the change of state of a member (the addition of a new member or the removal of a member running a service or a member going down), the state of the service (the service providing an application comes up or goes down), and service parameters (like the IP and port on which the service is provided, database connection end points, and so on). It is a requirement that the service information is available across all members at all times, which means...