code: func NewRandomDNSBalancer(environment string, consulAddr string, cacheTTL time.Duration) (balancer.DNS, error) {
  	config := api.DefaultConfig()
  	config.Address = consulAddr
  	consul, err := api.NewClient(config)
  	if err != nil {
  		return nil, fmt.Errorf("Could not connect to consul: %v", err)
  	}
  
  	r := randomBalancer{}
  	r.cache = make(map[string]cachedServiceLocation)
  	r.environment = environment
  	r.ttl = cacheTTL
  	r.consulCatalog = consul.Health()
  	return &r, nil
  }
docs: // NewRandomDNSBalancer will return a random balancer.DNS that looks up dns in consul.