diff --git a/proxyd/proxyd/backend.go b/proxyd/proxyd/backend.go index fbc0b10..98a5da6 100644 --- a/proxyd/proxyd/backend.go +++ b/proxyd/proxyd/backend.go @@ -691,10 +691,10 @@ func sortBatchRPCResponse(req []*RPCReq, res []*RPCRes) { } type BackendGroup struct { - Name string - Backends []*Backend - UseWeightedRouting bool - Consensus *ConsensusPoller + Name string + Backends []*Backend + WeightedRouting bool + Consensus *ConsensusPoller } func (bg *BackendGroup) Forward(ctx context.Context, rpcReqs []*RPCReq, isBatch bool) ([]*RPCRes, string, error) { @@ -750,7 +750,7 @@ func (bg *BackendGroup) Forward(ctx context.Context, rpcReqs []*RPCReq, isBatch } } rpcReqs = rewrittenReqs - } else if bg.UseWeightedRouting { + } else if bg.WeightedRouting { backends = randomizeFirstBackendByWeight(backends) } @@ -820,7 +820,7 @@ func (bg *BackendGroup) Forward(ctx context.Context, rpcReqs []*RPCReq, isBatch } func randomizeFirstBackendByWeight(backends []*Backend) []*Backend { - if len(backends) == 0 { + if len(backends) <= 1 { return backends } @@ -916,7 +916,7 @@ func (bg *BackendGroup) loadBalancedConsensusGroup() []*Backend { backendsDegraded[i], backendsDegraded[j] = backendsDegraded[j], backendsDegraded[i] }) - if bg.UseWeightedRouting { + if bg.WeightedRouting { backendsHealthy = randomizeFirstBackendByWeight(backendsHealthy) backendsDegraded = randomizeFirstBackendByWeight(backendsDegraded) } diff --git a/proxyd/proxyd/config.go b/proxyd/proxyd/config.go index 1c01bec..edfd4f1 100644 --- a/proxyd/proxyd/config.go +++ b/proxyd/proxyd/config.go @@ -95,11 +95,11 @@ type BackendConfig struct { ClientKeyFile string `toml:"client_key_file"` StripTrailingXFF bool `toml:"strip_trailing_xff"` + Weight int `toml:"weight"` + ConsensusSkipPeerCountCheck bool `toml:"consensus_skip_peer_count"` ConsensusForcedCandidate bool `toml:"consensus_forced_candidate"` ConsensusReceiptsTarget string `toml:"consensus_receipts_target"` - - Weight int `toml:"weight"` } type BackendsConfig map[string]*BackendConfig @@ -107,7 +107,7 @@ type BackendsConfig map[string]*BackendConfig type BackendGroupConfig struct { Backends []string `toml:"backends"` - UseWeightedRouting bool `toml:"weighted_routing"` + WeightedRouting bool `toml:"weighted_routing"` ConsensusAware bool `toml:"consensus_aware"` ConsensusAsyncHandler string `toml:"consensus_handler"` diff --git a/proxyd/proxyd/proxyd.go b/proxyd/proxyd/proxyd.go index 4474cf1..8db0de0 100644 --- a/proxyd/proxyd/proxyd.go +++ b/proxyd/proxyd/proxyd.go @@ -176,9 +176,9 @@ func Start(config *Config) (*Server, func(), error) { backends = append(backends, backendsByName[bName]) } group := &BackendGroup{ - Name: bgName, - UseWeightedRouting: bg.UseWeightedRouting, - Backends: backends, + Name: bgName, + WeightedRouting: bg.WeightedRouting, + Backends: backends, } backendGroups[bgName] = group }