完成Server基础逻辑
This commit is contained in:
parent
11bb380827
commit
d962588d2f
39
abstract.go
39
abstract.go
@ -17,10 +17,11 @@ import (
|
||||
//
|
||||
// Date : 2:46 下午 2021/4/1
|
||||
type SeverNode struct {
|
||||
Host string `json:"host"`
|
||||
Port int `json:"port"`
|
||||
Weight float64 `json:"weight"`
|
||||
Status int `json:"status"`
|
||||
ID string `json:"id"` // 机器编号
|
||||
Host string `json:"host"` // ip
|
||||
Port int `json:"port"` // 端口
|
||||
Weight float64 `json:"weight"` // 权重
|
||||
Status int `json:"status"` // 状态
|
||||
}
|
||||
|
||||
// Server server 的具体配置
|
||||
@ -31,6 +32,7 @@ type SeverNode struct {
|
||||
type Server struct {
|
||||
lock easylock.EasyLock
|
||||
NodeList []*SeverNode
|
||||
Balance IBalance
|
||||
}
|
||||
|
||||
// Add 添加一个Server
|
||||
@ -39,11 +41,36 @@ type Server struct {
|
||||
//
|
||||
// Date : 3:00 下午 2021/4/1
|
||||
func (s *Server) Add(node *SeverNode) {
|
||||
s.lock.Lock("")
|
||||
defer s.lock.Unlock("")
|
||||
_ = s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
s.NodeList = append(s.NodeList, node)
|
||||
}
|
||||
|
||||
// Remove 移除一个server
|
||||
//
|
||||
// Author : go_developer@163.com<张德满>
|
||||
//
|
||||
// Date : 5:09 下午 2021/4/1
|
||||
func (s *Server) Remove(nodeID string) {
|
||||
_ = s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
for nodeIndex, item := range s.NodeList {
|
||||
if item.ID == nodeID {
|
||||
s.NodeList = append(s.NodeList[0:nodeIndex], s.NodeList[nodeIndex:]...)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get 按照指定策略获取一台机器
|
||||
//
|
||||
// Author : go_developer@163.com<张德满>
|
||||
//
|
||||
// Date : 5:17 下午 2021/4/1
|
||||
func (s *Server) Get() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// IBalance 负载均衡的接口定义
|
||||
//
|
||||
// Author : go_developer@163.com<张德满>
|
||||
|
2
go.mod
2
go.mod
@ -2,4 +2,4 @@ module github.com/go-developer/balance
|
||||
|
||||
go 1.16
|
||||
|
||||
require github.com/go-developer/gopkg v0.0.0-20210326100134-08a8a8015cc5
|
||||
require github.com/go-developer/gopkg v0.0.0-20210401085834-5312092ad68b
|
||||
|
2
go.sum
2
go.sum
@ -10,6 +10,8 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm
|
||||
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
|
||||
github.com/go-developer/gopkg v0.0.0-20210326100134-08a8a8015cc5 h1:Id0MV9wihSMCncZ7OshI2ZNouijF9lrbIy+6vI6MoLM=
|
||||
github.com/go-developer/gopkg v0.0.0-20210326100134-08a8a8015cc5/go.mod h1:DZcG3JkuXhqmHwZMrSJefYWNPns7nYBhA9q4ocmpG5o=
|
||||
github.com/go-developer/gopkg v0.0.0-20210401085834-5312092ad68b h1:PduruFtrPw7BoxesthPBbYazz6jueMhBEFHxRA3Rd1I=
|
||||
github.com/go-developer/gopkg v0.0.0-20210401085834-5312092ad68b/go.mod h1:DZcG3JkuXhqmHwZMrSJefYWNPns7nYBhA9q4ocmpG5o=
|
||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
|
||||
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
|
||||
|
Loading…
x
Reference in New Issue
Block a user