获取服务结合随机算法
Posted hualou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取服务结合随机算法相关的知识,希望对你有一定的参考价值。
package util
import (
"math/rand"
"time"
)
type LoadBalance struct {
Servers []*ServiceInfo
}
func NewloadBalance(servers []*ServiceInfo) *LoadBalance {
return &LoadBalance{Servers:servers}
}
func(this *LoadBalance) getByRand(sname string ) *ServiceInfo{
tmp:=make([]*ServiceInfo,0)
for _,service:=range this.Servers{
if service.ServiceName==sname{
tmp=append(tmp,service)
}
}
if len(tmp)==0 {
return nil
}
rand.Seed(time.Now().UnixNano())
i:=rand.Intn(len(tmp)-1)
return this.Servers[i]
}
以上是关于获取服务结合随机算法的主要内容,如果未能解决你的问题,请参考以下文章
优化算法莱维飞行和随机游动策略的灰狼算法含Matlab源码 1500期
优化算法莱维飞行和随机游动策略的灰狼算法含Matlab源码 1500期
优化算法莱维飞行和随机游动策略的灰狼算法含Matlab源码 1500期