rr 算法

type roundRobin struct {
    s sd.Endpointer
    c uint64
}
//client  原子+  then  取模
func (rr *roundRobin) Endpoint() (endpoint.Endpoint, error) {
    endpoints, err := rr.s.Endpoints()
    if err != nil {
        return nil, err
    }
    if len(endpoints) <= 0 {
        return nil, ErrNoEndpoints
    }
    old := atomic.AddUint64(&rr.c, 1) - 1
    idx := old % uint64(len(endpoints))
    return endpoints[idx], nil
}


todo wrr

您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站大部分内容收集于互联网,如果有侵权内容、不妥之处,请联系删除。敬请谅解!

  关于博主【WANG-FEiHU】

Duplicate
-----------Complicate
--------------------------Appreciate
----------------------------------------[Fate]
-----------------------------------------------Elevate

三人行 有吾师

-------------花有重开日 梦无止境时-------------

  分类目录

  monitor(TD)

低头哭过别忘了抬头继续走。

不要被任何人打乱自的脚步,因为没有谁会像你一样清楚和在乎自己梦想。

你要记住你不是为别人而活,你是为自己而活。

我未曾跨过山河大海,也没穿过人山人海

停留在冬夜的冷风中,我不是也不想装脆弱,只因为你说过爱是等待,是细水长流