增加加权负载轮询的实现
This commit is contained in:
@ -65,22 +65,18 @@ func (b *base) RUnlock() {
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 10:07 下午 2021/10/20
|
||||
func (b *base) AddServerNode(hostIP string, port int) error {
|
||||
if len(hostIP) == 0 || port <= 0 {
|
||||
func (b *base) AddServerNode(node *define.ServerNode) error {
|
||||
if len(node.HostIP) == 0 || node.Port <= 0 {
|
||||
return errors.New("host ip or port is invalid")
|
||||
}
|
||||
b.Lock()
|
||||
defer b.Unlock()
|
||||
for _, item := range b.severList {
|
||||
if item.HostIP == hostIP && item.Port == port {
|
||||
if item.HostIP == node.HostIP && item.Port == node.Port {
|
||||
return errors.New("host config is already exist")
|
||||
}
|
||||
}
|
||||
b.severList = append(b.severList, &define.ServerNode{
|
||||
HostIP: hostIP,
|
||||
Port: port,
|
||||
Status: define.ServerNodeStatusNormal,
|
||||
})
|
||||
b.severList = append(b.severList, node)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user