cluster

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2019 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthCircuitBreaker = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowCircuitBreaker   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthOutlierDetection = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowOutlierDetection   = fmt.Errorf("proto: integer overflow")
)

Functions

This section is empty.

Types

type CircuitBreakers

type CircuitBreakers struct {
	// If multiple :ref:`Thresholds<envoy_api_msg_cluster.CircuitBreakers.Thresholds>`
	// are defined with the same :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`,
	// the first one in the list is used. If no Thresholds is defined for a given
	// :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`, the default values
	// are used.
	Thresholds           []*CircuitBreakers_Thresholds `protobuf:"bytes,1,rep,name=thresholds,proto3" json:"thresholds,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

:ref:`Circuit breaking<arch_overview_circuit_break>` settings can be specified individually for each defined priority.

func (*CircuitBreakers) Descriptor

func (*CircuitBreakers) Descriptor() ([]byte, []int)

func (*CircuitBreakers) Equal

func (this *CircuitBreakers) Equal(that interface{}) bool

func (*CircuitBreakers) GetThresholds

func (m *CircuitBreakers) GetThresholds() []*CircuitBreakers_Thresholds

func (*CircuitBreakers) Marshal

func (m *CircuitBreakers) Marshal() (dAtA []byte, err error)

func (*CircuitBreakers) MarshalTo

func (m *CircuitBreakers) MarshalTo(dAtA []byte) (int, error)

func (*CircuitBreakers) ProtoMessage

func (*CircuitBreakers) ProtoMessage()

func (*CircuitBreakers) Reset

func (m *CircuitBreakers) Reset()

func (*CircuitBreakers) Size

func (m *CircuitBreakers) Size() (n int)

func (*CircuitBreakers) String

func (m *CircuitBreakers) String() string

func (*CircuitBreakers) Unmarshal

func (m *CircuitBreakers) Unmarshal(dAtA []byte) error

func (*CircuitBreakers) Validate

func (m *CircuitBreakers) Validate() error

Validate checks the field values on CircuitBreakers with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*CircuitBreakers) XXX_DiscardUnknown

func (m *CircuitBreakers) XXX_DiscardUnknown()

func (*CircuitBreakers) XXX_Marshal

func (m *CircuitBreakers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CircuitBreakers) XXX_Merge

func (m *CircuitBreakers) XXX_Merge(src proto.Message)

func (*CircuitBreakers) XXX_Size

func (m *CircuitBreakers) XXX_Size() int

func (*CircuitBreakers) XXX_Unmarshal

func (m *CircuitBreakers) XXX_Unmarshal(b []byte) error

type CircuitBreakersValidationError

type CircuitBreakersValidationError struct {
	// contains filtered or unexported fields
}

CircuitBreakersValidationError is the validation error returned by CircuitBreakers.Validate if the designated constraints aren't met.

func (CircuitBreakersValidationError) Cause

Cause function returns cause value.

func (CircuitBreakersValidationError) Error

Error satisfies the builtin error interface

func (CircuitBreakersValidationError) ErrorName added in v0.7.0

func (e CircuitBreakersValidationError) ErrorName() string

ErrorName returns error name.

func (CircuitBreakersValidationError) Field

Field function returns field value.

func (CircuitBreakersValidationError) Key

Key function returns key value.

func (CircuitBreakersValidationError) Reason

Reason function returns reason value.

type CircuitBreakers_Thresholds

type CircuitBreakers_Thresholds struct {
	// The :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`
	// the specified CircuitBreaker settings apply to.
	// [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
	// https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
	Priority core.RoutingPriority `protobuf:"varint,1,opt,name=priority,proto3,enum=envoy.api.v2.core.RoutingPriority" json:"priority,omitempty"`
	// The maximum number of connections that Envoy will make to the upstream
	// cluster. If not specified, the default is 1024.
	MaxConnections *types.UInt32Value `protobuf:"bytes,2,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
	// The maximum number of pending requests that Envoy will allow to the
	// upstream cluster. If not specified, the default is 1024.
	MaxPendingRequests *types.UInt32Value `protobuf:"bytes,3,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"`
	// The maximum number of parallel requests that Envoy will make to the
	// upstream cluster. If not specified, the default is 1024.
	MaxRequests *types.UInt32Value `protobuf:"bytes,4,opt,name=max_requests,json=maxRequests,proto3" json:"max_requests,omitempty"`
	// The maximum number of parallel retries that Envoy will allow to the
	// upstream cluster. If not specified, the default is 3.
	MaxRetries *types.UInt32Value `protobuf:"bytes,5,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
	// If track_remaining is true, then stats will be published that expose
	// the number of resources remaining until the circuit breakers open. If
	// not specified, the default is false.
	TrackRemaining bool `protobuf:"varint,6,opt,name=track_remaining,json=trackRemaining,proto3" json:"track_remaining,omitempty"`
	// The maximum number of connection pools per cluster that Envoy will concurrently support at
	// once. If not specified, the default is unlimited. Set this for clusters which create a
	// large number of connection pools. See
	// :ref:`Circuit Breaking <arch_overview_circuit_break_cluster_maximum_connection_pools>` for
	// more details.
	MaxConnectionPools   *types.UInt32Value `protobuf:"bytes,7,opt,name=max_connection_pools,json=maxConnectionPools,proto3" json:"max_connection_pools,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

A Thresholds defines CircuitBreaker settings for a :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`.

func (*CircuitBreakers_Thresholds) Descriptor

func (*CircuitBreakers_Thresholds) Descriptor() ([]byte, []int)

func (*CircuitBreakers_Thresholds) Equal

func (this *CircuitBreakers_Thresholds) Equal(that interface{}) bool

func (*CircuitBreakers_Thresholds) GetMaxConnectionPools added in v0.7.0

func (m *CircuitBreakers_Thresholds) GetMaxConnectionPools() *types.UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxConnections

func (m *CircuitBreakers_Thresholds) GetMaxConnections() *types.UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxPendingRequests

func (m *CircuitBreakers_Thresholds) GetMaxPendingRequests() *types.UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxRequests

func (m *CircuitBreakers_Thresholds) GetMaxRequests() *types.UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxRetries

func (m *CircuitBreakers_Thresholds) GetMaxRetries() *types.UInt32Value

func (*CircuitBreakers_Thresholds) GetPriority

func (*CircuitBreakers_Thresholds) GetTrackRemaining added in v0.7.0

func (m *CircuitBreakers_Thresholds) GetTrackRemaining() bool

func (*CircuitBreakers_Thresholds) Marshal

func (m *CircuitBreakers_Thresholds) Marshal() (dAtA []byte, err error)

func (*CircuitBreakers_Thresholds) MarshalTo

func (m *CircuitBreakers_Thresholds) MarshalTo(dAtA []byte) (int, error)

func (*CircuitBreakers_Thresholds) ProtoMessage

func (*CircuitBreakers_Thresholds) ProtoMessage()

func (*CircuitBreakers_Thresholds) Reset

func (m *CircuitBreakers_Thresholds) Reset()

func (*CircuitBreakers_Thresholds) Size

func (m *CircuitBreakers_Thresholds) Size() (n int)

func (*CircuitBreakers_Thresholds) String

func (m *CircuitBreakers_Thresholds) String() string

func (*CircuitBreakers_Thresholds) Unmarshal

func (m *CircuitBreakers_Thresholds) Unmarshal(dAtA []byte) error

func (*CircuitBreakers_Thresholds) Validate

func (m *CircuitBreakers_Thresholds) Validate() error

Validate checks the field values on CircuitBreakers_Thresholds with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*CircuitBreakers_Thresholds) XXX_DiscardUnknown

func (m *CircuitBreakers_Thresholds) XXX_DiscardUnknown()

func (*CircuitBreakers_Thresholds) XXX_Marshal

func (m *CircuitBreakers_Thresholds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CircuitBreakers_Thresholds) XXX_Merge

func (m *CircuitBreakers_Thresholds) XXX_Merge(src proto.Message)

func (*CircuitBreakers_Thresholds) XXX_Size

func (m *CircuitBreakers_Thresholds) XXX_Size() int

func (*CircuitBreakers_Thresholds) XXX_Unmarshal

func (m *CircuitBreakers_Thresholds) XXX_Unmarshal(b []byte) error

type CircuitBreakers_ThresholdsValidationError

type CircuitBreakers_ThresholdsValidationError struct {
	// contains filtered or unexported fields
}

CircuitBreakers_ThresholdsValidationError is the validation error returned by CircuitBreakers_Thresholds.Validate if the designated constraints aren't met.

func (CircuitBreakers_ThresholdsValidationError) Cause

Cause function returns cause value.

func (CircuitBreakers_ThresholdsValidationError) Error

Error satisfies the builtin error interface

func (CircuitBreakers_ThresholdsValidationError) ErrorName added in v0.7.0

ErrorName returns error name.

func (CircuitBreakers_ThresholdsValidationError) Field

Field function returns field value.

func (CircuitBreakers_ThresholdsValidationError) Key

Key function returns key value.

func (CircuitBreakers_ThresholdsValidationError) Reason

Reason function returns reason value.

type OutlierDetection

type OutlierDetection struct {
	// The number of consecutive 5xx responses before a consecutive 5xx ejection
	// occurs. Defaults to 5.
	Consecutive_5Xx *types.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"`
	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as hosts being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
	// The base time that a host is ejected for. The real time is equal to the
	// base time multiplied by the number of times the host has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// The maximum % of an upstream cluster that can be ejected due to outlier
	// detection. Defaults to 10% but will eject at least one host regardless of the value.
	MaxEjectionPercent *types.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutive_5Xx *types.UInt32Value `` /* 132-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *types.UInt32Value `protobuf:"bytes,6,opt,name=enforcing_success_rate,json=enforcingSuccessRate,proto3" json:"enforcing_success_rate,omitempty"`
	// The number of hosts in a cluster that must have enough request volume to
	// detect success rate outliers. If the number of hosts is less than this
	// setting, outlier detection via success rate statistics is not performed
	// for any host in the cluster. Defaults to 5.
	SuccessRateMinimumHosts *types.UInt32Value `` /* 134-byte string literal not displayed */
	// The minimum number of total requests that must be collected in one
	// interval (as defined by the interval duration above) to include this host
	// in success rate based outlier detection. If the volume is lower than this
	// setting, outlier detection via success rate statistics is not performed
	// for that host. Defaults to 100.
	SuccessRateRequestVolume *types.UInt32Value `` /* 137-byte string literal not displayed */
	// This factor is used to determine the ejection threshold for success rate
	// outlier ejection. The ejection threshold is the difference between the
	// mean success rate, and the product of this factor and the standard
	// deviation of the mean success rate: mean - (stdev *
	// success_rate_stdev_factor). This factor is divided by a thousand to get a
	// double. That is, if the desired factor is 1.9, the runtime value should
	// be 1900. Defaults to 1900.
	SuccessRateStdevFactor *types.UInt32Value `` /* 131-byte string literal not displayed */
	// The number of consecutive gateway failures (502, 503, 504 status or
	// connection errors that are mapped to one of those status codes) before a
	// consecutive gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *types.UInt32Value `` /* 139-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *types.UInt32Value `` /* 168-byte string literal not displayed */
	XXX_NoUnkeyedLiteral               struct{}           `json:"-"`
	XXX_unrecognized                   []byte             `json:"-"`
	XXX_sizecache                      int32              `json:"-"`
}

See the :ref:`architecture overview <arch_overview_outlier_detection>` for more information on outlier detection.

func (*OutlierDetection) Descriptor

func (*OutlierDetection) Descriptor() ([]byte, []int)

func (*OutlierDetection) Equal

func (this *OutlierDetection) Equal(that interface{}) bool

func (*OutlierDetection) GetBaseEjectionTime

func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration

func (*OutlierDetection) GetConsecutiveGatewayFailure

func (m *OutlierDetection) GetConsecutiveGatewayFailure() *types.UInt32Value

func (*OutlierDetection) GetConsecutive_5Xx

func (m *OutlierDetection) GetConsecutive_5Xx() *types.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutiveGatewayFailure

func (m *OutlierDetection) GetEnforcingConsecutiveGatewayFailure() *types.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutive_5Xx

func (m *OutlierDetection) GetEnforcingConsecutive_5Xx() *types.UInt32Value

func (*OutlierDetection) GetEnforcingSuccessRate

func (m *OutlierDetection) GetEnforcingSuccessRate() *types.UInt32Value

func (*OutlierDetection) GetInterval

func (m *OutlierDetection) GetInterval() *types.Duration

func (*OutlierDetection) GetMaxEjectionPercent

func (m *OutlierDetection) GetMaxEjectionPercent() *types.UInt32Value

func (*OutlierDetection) GetSuccessRateMinimumHosts

func (m *OutlierDetection) GetSuccessRateMinimumHosts() *types.UInt32Value

func (*OutlierDetection) GetSuccessRateRequestVolume

func (m *OutlierDetection) GetSuccessRateRequestVolume() *types.UInt32Value

func (*OutlierDetection) GetSuccessRateStdevFactor

func (m *OutlierDetection) GetSuccessRateStdevFactor() *types.UInt32Value

func (*OutlierDetection) Marshal

func (m *OutlierDetection) Marshal() (dAtA []byte, err error)

func (*OutlierDetection) MarshalTo

func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error)

func (*OutlierDetection) ProtoMessage

func (*OutlierDetection) ProtoMessage()

func (*OutlierDetection) Reset

func (m *OutlierDetection) Reset()

func (*OutlierDetection) Size

func (m *OutlierDetection) Size() (n int)

func (*OutlierDetection) String

func (m *OutlierDetection) String() string

func (*OutlierDetection) Unmarshal

func (m *OutlierDetection) Unmarshal(dAtA []byte) error

func (*OutlierDetection) Validate

func (m *OutlierDetection) Validate() error

Validate checks the field values on OutlierDetection with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*OutlierDetection) XXX_DiscardUnknown

func (m *OutlierDetection) XXX_DiscardUnknown()

func (*OutlierDetection) XXX_Marshal

func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*OutlierDetection) XXX_Merge

func (m *OutlierDetection) XXX_Merge(src proto.Message)

func (*OutlierDetection) XXX_Size

func (m *OutlierDetection) XXX_Size() int

func (*OutlierDetection) XXX_Unmarshal

func (m *OutlierDetection) XXX_Unmarshal(b []byte) error

type OutlierDetectionValidationError

type OutlierDetectionValidationError struct {
	// contains filtered or unexported fields
}

OutlierDetectionValidationError is the validation error returned by OutlierDetection.Validate if the designated constraints aren't met.

func (OutlierDetectionValidationError) Cause

Cause function returns cause value.

func (OutlierDetectionValidationError) Error

Error satisfies the builtin error interface

func (OutlierDetectionValidationError) ErrorName added in v0.7.0

ErrorName returns error name.

func (OutlierDetectionValidationError) Field

Field function returns field value.

func (OutlierDetectionValidationError) Key

Key function returns key value.

func (OutlierDetectionValidationError) Reason

Reason function returns reason value.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL