Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var File_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Dlb ¶
type Dlb struct { // The ID of the Dlb hardware, start from 0. // If not specified, use the first available device as default. Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Maximum number of retries when sending to DLB device fails. // No retry as default. MaxRetries uint32 `protobuf:"varint,2,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` // contains filtered or unexported fields }
The Dlb is a hardware managed system of queues and arbiters connecting producers and consumers. It is a PCIE device in the CPU package. It interacts with software running on cores and potentially other devices. The Dlb implements the following balancing features:
- Lock-free multi-producer/multi-consumer operation. - Multiple priorities for varying traffic types. - Various distribution schemes.
Dlb connection balancer uses Dlb hardware to balance connections, and can significantly reduce latency.
As the Dlb connection balancer provides assistance from dedicated Dlb hardware, it can be used for a proxy with a large number of connections (e.g., a gateway).
func (*Dlb) ProtoReflect ¶
func (x *Dlb) ProtoReflect() protoreflect.Message