diff --git a/utils/lb/lb.go b/utils/lb/lb.go index 8d0b2b0..90b918c 100644 --- a/utils/lb/lb.go +++ b/utils/lb/lb.go @@ -36,6 +36,7 @@ type Group struct { lock *sync.Mutex last *Backend debug bool + bks []*Backend } func NewGroup(selectType int, configs BackendsConfig, dr *dnsx.DomainResolver, log *log.Logger, debug bool) Group { @@ -68,9 +69,13 @@ func NewGroup(selectType int, configs BackendsConfig, dr *dnsx.DomainResolver, l dr: dr, lock: &sync.Mutex{}, debug: debug, + bks: bks, } } func (g *Group) Select(srcAddr string, onlyHa bool) (addr string) { + if len(g.bks) == 1 { + return g.bks[0].Address + } if onlyHa { g.lock.Lock() defer g.lock.Unlock()