负载均衡是指,将请求/数据分摊到多个操作单元上执行,关键在于均衡。

然而,后端的服务器有可能硬件条件不同:

  • 如果对标低配的服务器“均匀”分摊负载,高配的服务器利用率会不足
  • 如果对标高配的服务器“均匀”分摊负载,低配的服务器会扛不住

能否根据异构服务器的处理能力来动态、自适应进行负载均衡,以及过载保护呢?

负载均衡通常是怎么做的?

image.png
service层的负载均衡,一般是通过service连接池来实现的,调用方连接池会建立与下游服务多个连接,每次请求“随机”获取连接,来保证访问的均衡性。

负载均衡、故障转移、超时处理等细节也都是通过调用方连接池来实现的。

调用方连接池能否,根据service的处理能力,动态+自适应的进行负载调度呢?

方案一:可以通过“静态权重”标识service的处理能力。
image.png

最容易想到的方法,可以为每个下游service设置一个“权重”,代

收藏 打印