123456789101112131415161718192021222324252627282930313233 |
- package loadmodule
- import (
- "net/url"
- )
- type ProxyLoadType int
- const (
- RandomProxyModule ProxyLoadType = iota //随机
- RoundRobinProxyModule //轮询
- HashProxyModule //哈希
- )
- type ProxyLoadModule interface {
- Get(string) (*url.URL, error) //获取节点
- Add(string) error //添加节点
- Del(string) error //动态添加
- }
- // LoadProxyLoadFactory 节点负载模式
- func LoadProxyLoadFactory(value int) ProxyLoadModule {
- switch ProxyLoadType(value) {
- case RandomProxyModule: //随机
- return &RandomProxy{}
- case RoundRobinProxyModule: //轮询
- return &RoundRobinProxy{}
- case HashProxyModule: //哈希
- return &HashProxy{}
- default:
- return &RandomProxy{}
- }
- }
|