func InitFeatureDBClient()

in datasource/featuredb/featuredb.go [26:59]


func InitFeatureDBClient(address, token, vpcAddress string) {
	if featureDBClient != nil {
		return
	}

	client := &http.Client{
		Transport: &http.Transport{
			MaxConnsPerHost:     1000,
			MaxIdleConns:        1000,
			MaxIdleConnsPerHost: 1000,
			DialContext: (&net.Dialer{
				Timeout:   200 * time.Millisecond,
				KeepAlive: 30 * time.Second,
			}).DialContext,
			ResponseHeaderTimeout: 500 * time.Millisecond,
		},
	}
	featureDBClient = &FeatureDBClient{
		Client:        client,
		address:       address,
		Token:         token,
		vpcAddress:    fmt.Sprintf("http://%s", vpcAddress),
		checkInterval: 1 * time.Minute,
		stopChan:      make(chan struct{}),
	}

	featureDBClient.useVpcAddress.Store(false)

	if vpcAddress != "" {
		featureDBClient.CheckVpcAddress()

		go featureDBClient.backgroundCheckVpcAddress()
	}
}