Purpose

The gateway service exposes all of the micro-services as a unified API, exposed over a single port. It also works with Netflix ribbon based client side load balancer and Hashicorp Consul to consolidate across hosts and scale horizontally. The current implementation is running Zuul, a Java based gateway proxy.

Usage

The gateway service is designed to resolve the "service-registry" host name and connect to a Consul registry service at that IP. The host name can be provided by the "extra-hosts" option for the service in the docker-compose file.

Once connected, the bootstrap process will load any application configuration, to include Zuul routes, from the Consul Key/Value store. For this reason, Consul should be started first, and the configuration for the gateway added to the Key/Value store prior to starting the gateway service.

Startup

This container is designed to be started with a docker-compose file in conjunction with other services.