gost icon indicating copy to clipboard operation
gost copied to clipboard

负载均衡算法优化建议

Open f4nff opened this issue 1 year ago • 3 comments

        selector:
          strategy: fifo
          maxFails: 2
          failTimeout: 30s

这是目前的负载均衡,根据发起请求是否死亡作为链路的评定标准,但是如果一个链路出现丢包的时候, 体验会急剧下降,这时候需要转移节点.

image

目前的负载均衡是无法对这种链路进行判断的. 以grpc协议为例,应该加一个最大延时的判断基准,以grpc ping的延时作为基准,

        selector:
          strategy: fifo
          maxFails: 2
          failTimeout: 30s
          pingtime: 250ms

当ping的延时大于预设的250ms标记为节点死亡. 这样可以最大程度的反馈出当前链路的质量,并且快速的转移到优质备用节点.

f4nff avatar Nov 18 '23 04:11 f4nff

出现卡的时候,往往是因为丢包了, 依赖tcp握手成败不能有效的反馈出链路的真实质量.

f4nff avatar Nov 18 '23 04:11 f4nff

你需要的应该是基于延迟的节点选择策略。

ginuerzh avatar Nov 30 '23 08:11 ginuerzh

你可以套一个haproxy ,用leastconn算法,优先选当前连接数少的。

每个节点后面加上check ,例如check inter 500 rise 3 fall 2 每隔500毫秒检测一次,连接失败连接标记失联,连续成功3次恢复

wpzzz avatar Dec 01 '23 19:12 wpzzz