今天,我们来学习一下负载均衡的几种均衡模式。通过了解负载均衡的均衡模式,我们可以更好的利用负载均衡来为我们的应用服务。
首先,我们来看一看腾讯云负载均衡支持哪些均衡模式?
在按权重轮训模式下,我们需要给每台作为后端的云主机设置权重。负载均衡可以根据权重来分配请求。这种模式比较适合比较简单的架构。使用起来比较简单,设置也比较容易。
我们来简单举个例子:
用户向负载均衡发送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 ,这样就实现了会话保持。
加权最小链接数在将状态抽离云主机时,会是最好的选择。加权最小链接数处理请求会有两个步骤。
这种均衡的方式除了传统的权重以外,引入了活动链接数这一个重要的量,通过对活动链接数的加权处理,保证每台云主机的请求分配和其本身的负载相关联,不会出现某些主机处在近乎闲置的状态,其他的主机则承载较高压力。
这种均衡模式非常适合较为复杂的架构,可以根据情况进行具体分析。
拓展阅读:
负载均衡模式:https://www.qcloud.com/document/product/214/6153
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。