balancer

package
v0.0.0-...-2ebd195 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2022 License: MIT Imports: 13 Imported by: 0

README

gRPC的负载均衡算法实现

  • least_conn:基于P2C的最小连接数
  • wrand:带权重的随机
  • wroundrobin:Nginx的WRR算法,带权重的轮询

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetServerWeightValue

func GetServerWeightValue(mdata interface{}) int

func RegisterLeastConnPickerBuilder

func RegisterLeastConnPickerBuilder(logger *zap.Logger)

func RegisterRandomBuilderPickerBuilder

func RegisterRandomBuilderPickerBuilder(logger *zap.Logger)

func RegisterSimpleRoundRobinPickerBuilder

func RegisterSimpleRoundRobinPickerBuilder(logger *zap.Logger)

Types

type GRPC_BALANCER_NAME

type GRPC_BALANCER_NAME string
const (
	BALANCER_DEFAULT_RR_NAME                        = "round_robin" //默认grpc实现
	BALANCER_RandomWeight_NAME   GRPC_BALANCER_NAME = "RandomWeight"
	BALANCER_SimpleWeightRR_NAME GRPC_BALANCER_NAME = "SimpleWeightRR"
	BALANCER_LeastConn_NAME      GRPC_BALANCER_NAME = "LeastConn"
)

type LeastConnPicker

type LeastConnPicker struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*LeastConnPicker) Pick

Jump to

Keyboard shortcuts

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