A gateway and http client for microservices using consul to discover other services and automatically load balance requests on found instances of each service, check if an instance is reachable by the service, and update the list of urls on changes to the registry