Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterCheckConfigHandler(lbtype string, conf CheckConfigHandler)
- func RegisterLoadBalanceStrategyHandler(name string, handler LoadBalanceStrategyHandler)
- type CheckConfigHandler
- type ConsistentHashStrategy
- type Hash
- type LoadBalance
- type LoadBalanceCheckConf
- type LoadBalanceConf
- type LoadBalanceStrategy
- type LoadBalanceStrategyHandler
- type Observer
- type RandomStrategy
- type RoundRobinStrategy
- type UInt32Slice
- type WeightNode
- type WeightRoundRobinStrategy
Constants ¶
View Source
const ( DefaultCheckTimeout = 5 DefaultCheckMaxErrNum = 2 DefaultCheckInterval = 5 )
Variables ¶
View Source
var CheckConfigHandlerMap map[string]CheckConfigHandler
View Source
var LoadBalanceStrategyHandlerMap map[string]LoadBalanceStrategyHandler
Functions ¶
func RegisterCheckConfigHandler ¶
func RegisterCheckConfigHandler(lbtype string, conf CheckConfigHandler)
func RegisterLoadBalanceStrategyHandler ¶
func RegisterLoadBalanceStrategyHandler(name string, handler LoadBalanceStrategyHandler)
Types ¶
type CheckConfigHandler ¶
type CheckConfigHandler func(service *model.ServiceDetail) (LoadBalanceConf, error)
func GetCheckConfigHandler ¶
func GetCheckConfigHandler(lbtype string) CheckConfigHandler
type ConsistentHashStrategy ¶
type ConsistentHashStrategy struct {
// contains filtered or unexported fields
}
func NewConsistentHashStrategy ¶
func NewConsistentHashStrategy(replicas int, fn Hash) *ConsistentHashStrategy
func (*ConsistentHashStrategy) Add ¶
func (c *ConsistentHashStrategy) Add(params ...string) error
func (*ConsistentHashStrategy) Get ¶
func (c *ConsistentHashStrategy) Get(key string) (string, error)
func (*ConsistentHashStrategy) GetAll ¶
func (r *ConsistentHashStrategy) GetAll() ([]string, error)
func (*ConsistentHashStrategy) IsEmpty ¶
func (c *ConsistentHashStrategy) IsEmpty() bool
func (*ConsistentHashStrategy) RemoveAll ¶
func (c *ConsistentHashStrategy) RemoveAll() error
type LoadBalance ¶
type LoadBalance struct {
// contains filtered or unexported fields
}
func LoadBanlanceFactorWithStrategy ¶
func LoadBanlanceFactorWithStrategy(strategy LoadBalanceStrategy, conf LoadBalanceConf) *LoadBalance
func NewLoadBalance ¶
func NewLoadBalance(strategy LoadBalanceStrategy, conf LoadBalanceConf) *LoadBalance
func (*LoadBalance) Add ¶
func (r *LoadBalance) Add(params ...string) error
func (*LoadBalance) Close ¶
func (r *LoadBalance) Close()
func (*LoadBalance) GetAll ¶
func (r *LoadBalance) GetAll() ([]string, error)
func (*LoadBalance) Update ¶
func (r *LoadBalance) Update()
type LoadBalanceCheckConf ¶
type LoadBalanceCheckConf struct {
// contains filtered or unexported fields
}
func (*LoadBalanceCheckConf) Attach ¶
func (s *LoadBalanceCheckConf) Attach(o Observer)
func (*LoadBalanceCheckConf) CloseWatch ¶
func (s *LoadBalanceCheckConf) CloseWatch()
func (*LoadBalanceCheckConf) GetConf ¶
func (s *LoadBalanceCheckConf) GetConf() []string
func (*LoadBalanceCheckConf) NotifyAllObservers ¶
func (s *LoadBalanceCheckConf) NotifyAllObservers()
func (*LoadBalanceCheckConf) UpdateConf ¶
func (s *LoadBalanceCheckConf) UpdateConf(conf []string)
func (*LoadBalanceCheckConf) WatchConf ¶
func (s *LoadBalanceCheckConf) WatchConf()
type LoadBalanceConf ¶
type LoadBalanceConf interface { Attach(o Observer) GetConf() []string WatchConf() UpdateConf(conf []string) CloseWatch() }
func NewLoadBalanceCheckConf ¶
func NewLoadBalanceCheckConf(service *model.ServiceDetail) (LoadBalanceConf, error)
type LoadBalanceStrategy ¶
type LoadBalanceStrategy interface { Add(...string) error RemoveAll() error GetAll() ([]string, error) Get(string) (string, error) }
func GetLoadBalanceStrategy ¶
func GetLoadBalanceStrategy(name string) LoadBalanceStrategy
type LoadBalanceStrategyHandler ¶
type LoadBalanceStrategyHandler func() LoadBalanceStrategy
type RandomStrategy ¶
type RandomStrategy struct {
// contains filtered or unexported fields
}
func (*RandomStrategy) Add ¶
func (r *RandomStrategy) Add(params ...string) error
func (*RandomStrategy) GetAll ¶
func (r *RandomStrategy) GetAll() ([]string, error)
func (*RandomStrategy) Next ¶
func (r *RandomStrategy) Next() string
func (*RandomStrategy) RemoveAll ¶
func (r *RandomStrategy) RemoveAll() error
type RoundRobinStrategy ¶
type RoundRobinStrategy struct {
// contains filtered or unexported fields
}
func (*RoundRobinStrategy) Add ¶
func (r *RoundRobinStrategy) Add(params ...string) error
func (*RoundRobinStrategy) GetAll ¶
func (r *RoundRobinStrategy) GetAll() ([]string, error)
func (*RoundRobinStrategy) Next ¶
func (r *RoundRobinStrategy) Next() string
func (*RoundRobinStrategy) RemoveAll ¶
func (r *RoundRobinStrategy) RemoveAll() error
type UInt32Slice ¶
type UInt32Slice []uint32
func (UInt32Slice) Len ¶
func (s UInt32Slice) Len() int
func (UInt32Slice) Less ¶
func (s UInt32Slice) Less(i, j int) bool
func (UInt32Slice) Swap ¶
func (s UInt32Slice) Swap(i, j int)
type WeightNode ¶
type WeightNode struct {
// contains filtered or unexported fields
}
type WeightRoundRobinStrategy ¶
type WeightRoundRobinStrategy struct {
// contains filtered or unexported fields
}
func (*WeightRoundRobinStrategy) Add ¶
func (r *WeightRoundRobinStrategy) Add(params ...string) error
func (*WeightRoundRobinStrategy) Get ¶
func (r *WeightRoundRobinStrategy) Get(key string) (string, error)
func (*WeightRoundRobinStrategy) GetAll ¶
func (r *WeightRoundRobinStrategy) GetAll() ([]string, error)
func (*WeightRoundRobinStrategy) Next ¶
func (r *WeightRoundRobinStrategy) Next() string
func (*WeightRoundRobinStrategy) RemoveAll ¶
func (r *WeightRoundRobinStrategy) RemoveAll() error
Click to show internal directories.
Click to hide internal directories.