【腾讯云的1001种玩法】 十分钟轻松搞定云架构 · 负载均衡的几种均衡模式

时间:2022-04-21
本文章向大家介绍【腾讯云的1001种玩法】 十分钟轻松搞定云架构 · 负载均衡的几种均衡模式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
视频内容

今天,我们来学习一下负载均衡的几种均衡模式。通过了解负载均衡的均衡模式,我们可以更好的利用负载均衡来为我们的应用服务。

首先,我们来看一看腾讯云负载均衡支持哪些均衡模式?

  • 按权重轮训
  • 按IP Hash
  • 加权最小连接数

在按权重轮训模式下,我们需要给每台作为后端的云主机设置权重。负载均衡可以根据权重来分配请求。这种模式比较适合比较简单的架构。使用起来比较简单,设置也比较容易。

我们来简单举个例子:

用户向负载均衡发送14个请求,负载均衡后端一共有三台云主机:云主机1 云主机2 云主机3 。三个云主机的权重分别是3 5 7。负载均衡器在进行请求分发时,优先高权重的云主机分发请求,就会给云主机3分发7个请求,给云主机2分发5个请求,给云主机1 分发2个请求。这样就将用户发送的14个请求分发完成。当下次再有新的请求通过负载均衡进行分发时,也会按照这样的模式来进行分配。

这种模式会又一个很明显的问题,就是权重最低的云主机可能每次都分发较少的请求,一致都处在一个比较低的利用率水平

在这里,我们来穿插一个知识点:会话保持。在我们设置按权重轮训时,会有一个会话保持的选项。

会话保持就是让来自同一个IP或同一个IP段的请求转发到同一台后端服务器上。因为某些应用无法完整的拆分状态,会有一些缓存信息存放在云主机上,所以这个时候,就需要开启会话保持,以保证不会因为请求分发导致状态丢失,出现用户不停登陆的情况。

不过会话保持对于一些应用不能提供很好的均衡,比如微信公众平台的请求处理。更好的方法是将状态提取出来,使用redis、mysql来存储状态,而不是由程序本身存储。

IP Hash 是根据请求的源地址进行处理,来做为 Hash 的 Key ,请求对应的处理。

IP Hash 可以保证同一个IP始终请求同一台云主机,以另外一种模式来实现会话保持。对于一些不支持会话保持的场景,可以使用这种形式来将源IP的请求分发到同一台云主机。

同样,这样准备了一张图,来方便大家理解:

我们假设源站地址的 127.0.0.1 ,他的 Hash Key 为 K31,负载均衡在处理时,就会把请求分发到 Key 同为 K31 的主机上。如果后续这个IP依然发送请求,同样转发到 K31 ,这样就实现了会话保持。

加权最小链接数在将状态抽离云主机时,会是最好的选择。加权最小链接数处理请求会有两个步骤。

  1. 获取当前后端云主机的活动链接数。
  2. 读取为每个云主机设置的权值。
  3. 使用活动链接数和权值计算出新的合理的权值
  4. 根据计算出的权值分发请求

这种均衡的方式除了传统的权重以外,引入了活动链接数这一个重要的量,通过对活动链接数的加权处理,保证每台云主机的请求分配和其本身的负载相关联,不会出现某些主机处在近乎闲置的状态,其他的主机则承载较高压力。

这种均衡模式非常适合较为复杂的架构,可以根据情况进行具体分析。

拓展阅读:

负载均衡模式:https://www.qcloud.com/document/product/214/6153

会话保持:https://www.qcloud.com/document/product/214/6154

协议支持及端口配置:https://www.qcloud.com/document/product/214/6152