完成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
|
// Date : 2:46 下午 2021/4/1
|
||||||
type SeverNode struct {
|
type SeverNode struct {
|
||||||
Host string `json:"host"`
|
ID string `json:"id"` // 机器编号
|
||||||
Port int `json:"port"`
|
Host string `json:"host"` // ip
|
||||||
Weight float64 `json:"weight"`
|
Port int `json:"port"` // 端口
|
||||||
Status int `json:"status"`
|
Weight float64 `json:"weight"` // 权重
|
||||||
|
Status int `json:"status"` // 状态
|
||||||
}
|
}
|
||||||
|
|
||||||
// Server server 的具体配置
|
// Server server 的具体配置
|
||||||
@ -31,6 +32,7 @@ type SeverNode struct {
|
|||||||
type Server struct {
|
type Server struct {
|
||||||
lock easylock.EasyLock
|
lock easylock.EasyLock
|
||||||
NodeList []*SeverNode
|
NodeList []*SeverNode
|
||||||
|
Balance IBalance
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add 添加一个Server
|
// Add 添加一个Server
|
||||||
@ -39,11 +41,36 @@ type Server struct {
|
|||||||
//
|
//
|
||||||
// Date : 3:00 下午 2021/4/1
|
// Date : 3:00 下午 2021/4/1
|
||||||
func (s *Server) Add(node *SeverNode) {
|
func (s *Server) Add(node *SeverNode) {
|
||||||
s.lock.Lock("")
|
_ = s.lock.Lock()
|
||||||
defer s.lock.Unlock("")
|
defer s.lock.Unlock()
|
||||||
s.NodeList = append(s.NodeList, node)
|
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 负载均衡的接口定义
|
// IBalance 负载均衡的接口定义
|
||||||
//
|
//
|
||||||
// Author : go_developer@163.com<张德满>
|
// Author : go_developer@163.com<张德满>
|
||||||
|
2
go.mod
2
go.mod
@ -2,4 +2,4 @@ module github.com/go-developer/balance
|
|||||||
|
|
||||||
go 1.16
|
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/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 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-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/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/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
|
||||||
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
|
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user