Disable scaling from zero by default

This disables the scaling proxy by default since it is not the
default user-experience and is still under refinement.

Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
This commit is contained in:
Alex Ellis (VMware)
2018-07-17 09:59:25 +01:00
committed by Alex Ellis
parent a1c2c553a5
commit c58af8da56
2 changed files with 12 additions and 11 deletions

View File

@ -115,16 +115,20 @@ func main() {
r := mux.NewRouter() r := mux.NewRouter()
// max wait time to start a function = maxPollCount * functionPollInterval // max wait time to start a function = maxPollCount * functionPollInterval
scalingConfig := handlers.ScalingConfig{ functionProxy := faasHandlers.Proxy
MaxPollCount: uint(1000),
FunctionPollInterval: time.Millisecond * 10,
CacheExpiry: time.Second * 5, // freshness of replica values before going stale
}
scalingProxy := handlers.MakeScalingHandler(faasHandlers.Proxy, queryFunction, scalingConfig) if config.ScaleFromZero {
scalingConfig := handlers.ScalingConfig{
MaxPollCount: uint(1000),
FunctionPollInterval: time.Millisecond * 10,
CacheExpiry: time.Second * 5, // freshness of replica values before going stale
}
functionProxy = handlers.MakeScalingHandler(faasHandlers.Proxy, queryFunction, scalingConfig)
}
// r.StrictSlash(false) // This didn't work, so register routes twice. // r.StrictSlash(false) // This didn't work, so register routes twice.
r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}", scalingProxy) r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}", functionProxy)
r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}/", scalingProxy) r.HandleFunc("/function/{name:[-a-zA-Z_0-9]+}/", functionProxy)
r.HandleFunc("/system/info", handlers.MakeInfoHandler(handlers.MakeForwardingProxyHandler( r.HandleFunc("/system/info", handlers.MakeInfoHandler(handlers.MakeForwardingProxyHandler(
reverseProxy, forwardingNotifiers, urlResolver))).Methods(http.MethodGet) reverseProxy, forwardingNotifiers, urlResolver))).Methods(http.MethodGet)

View File

@ -150,16 +150,13 @@ type GatewayConfig struct {
// If set this will be used to resolve functions directly // If set this will be used to resolve functions directly
DirectFunctionsSuffix string DirectFunctionsSuffix string
<<<<<<< HEAD
// If set, reads secrets from file-system for enabling basic auth. // If set, reads secrets from file-system for enabling basic auth.
UseBasicAuth bool UseBasicAuth bool
// SecretMountPath specifies where to read secrets from for embedded basic auth // SecretMountPath specifies where to read secrets from for embedded basic auth
SecretMountPath string SecretMountPath string
=======
// Enable the gateway to scale any service from 0 replicas to its configured "min replicas" // Enable the gateway to scale any service from 0 replicas to its configured "min replicas"
ScaleFromZero bool ScaleFromZero bool
>>>>>>> Add scale_from_zero flag
} }
// UseNATS Use NATSor not // UseNATS Use NATSor not