// Package implement ... // // Description : dispatch... // // Author : go_developer@163.com<张德满> // // Date : 2021-04-01 5:58 下午 package implement import ( "git.zhangdeman.cn/gateway/balance/abstract" "git.zhangdeman.cn/zhangdeman/exception" "math/rand" "git.zhangdeman.cn/gateway/balance/define" ) // NewRand ... // // Author : go_developer@163.com<张德满> // // Date : 6:51 下午 2021/4/1 func NewRand() abstract.IBalance { return &Rand{} } // Rand 随机选择 // // Author : go_developer@163.com<张德满> // // Date : 6:01 下午 2021/4/1 type Rand struct { } // Get 获取 host + 端口 // // Author : go_developer@163.com<张德满> // // Date : 6:01 下午 2021/4/1 func (r Rand) Get(nodeList []*define.SeverNode) (*define.SeverNode, exception.IException) { if len(nodeList) == 0 { return nil, exception.New(define.ErrorTypeNodeListEmpty, nil, "服务器可用节点为空") } node := nodeList[rand.Intn(len(nodeList))] return node, nil }